2010-08-26 86 views

回答

13

您可以使用QDir::homePath()QString设置为当前用户配置文件的主目录,但我不确定是否存在由操作系统标识的“标准”下载目录。

+0

很简单:** **无*以来*每个人都应该使用Qt 5现在,[QStandardPaths(HTTPS://doc.qt。 io/qt-5/qstandardpaths.html)和[Frank Osterfeld](https://stackoverflow.com/users/299399/frank-osterfeld)的[博学的答案](https://stackoverflow.com/a/3573367/2809027)是你的朋友。但是,这个答案并不是。 – 2017-08-01 05:04:16

30

在Qt 4,其中提供QDesktopServices一些用户路径:

https://doc.qt.io/qt-4.8/qdesktopservices.html#StandardLocation-enum

它具有例如桌面和文档,但没有特定的下载文件夹。

在Qt 5,使用QStandardPaths

const QString downloadsFolder = QStandardPaths::writableLocation(QStandardPaths::DownloadLocation); 
+1

值得注意的是,'QStandardPaths :: writableLocation()'可能会不安全地返回“...一个空字符串,如果该位置无法确定。”同样,同样不安全的'QStandardPaths :: standardLocations()'函数可能会返回空列表“...如果没有定义类型的位置”。在任何一种情况下,返回值都不能被认为是理智的。呼叫者应该*总是*明确地测试空虚。最后,请注意,'standardLocations()'返回一个列表,因此可能比'writableLocation()'更频繁地返回一个理智的值,它只返回一个字符串。 – 2017-08-01 05:20:05

相关问题