2010-08-26 28 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

相關問題