2010-08-26 4 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) являются твоими друзьями. Однако этого ответа нет. –

30

В Qt 4, там QDesktopServices, обеспечивающие некоторые пути пользователя:

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

Это имеет, например, Desktop и Documents, но нет специальной папки для загрузки.

В Qt 5, используйте QStandardPaths:

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

Следует отметить, что 'QStandardPaths :: writableLocation()' may unsafely return "... пустая строка, если местоположение не может быть определено." Точно так же небезопасная функция QStandardPaths :: standardLocations() 'может возвращать пустой список" ... если не определены местоположения для типа. " В любом случае возвращаемое значение должно быть * never * считаться нормальным. Вызывающие должны * всегда * явно проверять пустоту. Наконец, обратите внимание, что 'standardLocations()' возвращает список и, следовательно, скорее всего, вернет нормальное значение чаще, чем 'writableLocation()', что возвращает только одну строку. –

Смежные вопросы