主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
Qt程序获得特殊路径,如程序路径、用户目录路径、临时文件夹等。我们的程序经常需要访问一些特殊的路径,比如程序路径、用户目录路径、临时文件夹等。。虽然在Qt中实现这些功能的方法并不难,但又各不相同,每次使用都要检查,很不方便。。因此,我写了这篇博客,总结了实现这些需求的方法。。是备忘录。
程序所在路径获取程序所在路径,相关功能在QCoreApplication类中实现:
QString QCoreApplication::Application DirPath()例如,我们有一个程序在:
c:/Qt/examples/tools/regexp/regexp . exe Then qapp ->:application dirpath()的结果为:
C:/Qt/examples/tools/regexp如果除了程序所在的路径之外,我们还想要程序的全名。,那么我们可以这样写:
qapp ->;ApplicationFilePath()还是上面的例子,结果是:
c:/Qt/examples/tools/regexp/regexp . exe当前工作目录QDir提供了一个静态函数currentPath()来获取当前工作目录。该函数的原型如下:
QString QDir::currentPath()如果我们双击一个程序来运行它,那么这个程序的工作目录就是这个程序所在的目录。
如果在命令行下运行程序,命令行上的哪个目录是当前目录。
【获取QT开发教程的学习资料,点击下面的链接领取费用,在迷失之前留在代码里~】
点击→获取“链接”
用户目录路径Qt 4中的方法。以下方法仅对Qt 4有效,在Qt 5中已经删除了storageLocation()的方法。。
QDesktopServices::storage location(QDesktopServices::home location);Qt 5中引入的方法。
qstandardpath::writable location(qstandardpath::home location);或者
qstandardpath::standard locations(qstandardpath::home location);两种方法的区别在于standardLocations()的返回值是QStringList。。当然,对于HomeLocation,这个QStringList中只有一个QString。。
还有另一种方法来使用QDir类的静态函数:
QDir::home path();我的文档路径Qt 4中的方法。。以下方法仅对Qt 4有效。Qt 5删除了storageLocation()的方法。。
QDesktopServices::storage location(QDesktopServices::documents location);Qt 5中引入的方法。
qstandardpath::writable location(qstandardpath::documents location);qstandardpath::standard locations(qstandardpath::documents location);桌面Qt 4中的方法。。以下方法仅对Qt 4有效。Qt 5删除了storageLocation()的方法。。
QDesktopServices::storage location(QDesktopServices::desktop location);Qt 5中引入的方法。
qstandardpath::writableLocation(qstandardpath::desktop location);qstandardpath::standard locations(qstandardpath::desktop location);程序数据存储路径通常情况下,我们会将程序需要的一些数据存储在注册表。中,但是有时候数据太多无法存储,所以不适合放在注册表。中。这个时候我们就要找一个专门的地方来存放数据。。之前我喜欢把数据直接放在程序所在的目录下,但是后来发现我的程序经常没有权限写到这个目录下的文件。。后来发现Qt已经为us 。考虑了这些问题
Qt 4中的方法。以下方法仅对Qt 4有效,Qt 5已删除storageLocation()的方法。。
QDesktopServices::storage location(QDesktopServices::data location);Qt 5中引入的方法。
qstandardpath::writableLocation(qstandardpath::appdata location);qstandardpath::standard locations(qstandardpath::appdata location);Qt 5.5中引入了另一种方法:
qstandardpath::writableLocation(qstandardpath::AppConfigLocation);qstandardpath::standard locations(qstandardpath::AppConfigLocation);一般来说,这种方法的结果和上面的方法是一样的。根据Qt帮助文档的解释,这种方法可以保证返回的路径不为空。所以我觉得应该首选这种方式。
临时文件路径Qt 4中的方法。。以下方法仅对Qt 4有效。Qt 5删除了storageLocation()的方法。。
QDesktopServices::storage location(QDesktopServices::TempLocation);Qt 5中引入的方法。
qstandardpath::writableLocation(qstandardpath::TempLocation);qstandardpath::standard locations(qstandardpath::TempLocation);更传统的方法是使用QDir的静态函数tempPath()。。
QDir::tempPath();在这个目录下生成临时文件和临时目录还需要另外两个类:QTemporaryFile和QTemporaryDir。,就不介绍了。可以参考qt的帮助文档。
至此,各种常用的特殊路径已经介绍的差不多。了,还剩下一些不常用的。请参考QStandardPaths class 。的介绍
版权声明:本文所有内容均由第三方贡献,版权归原作者所有。本网站不拥有其版权,也不承担本文所有内容引起的任何版权归属问题或纠纷。如有侵权,请联系info@zhujicankao。com,而本网在核实确实侵权后,有权删除第。条。
以上是我们本期分享的详细内容。本站部分内容来自网络,希望对你有帮助。请关注zhujicankao.com。
这几篇文章你可能也喜欢:
- 暂无相关推荐文章
本文由主机参考刊发,转载请注明:获取Qt程序路径、用户目录路径、临时文件夹等特殊路径的方法。 https://zhujicankao.com/88126.html
评论前必须登录!
注册