有沒有辦法在QT中使用QStandardPaths
獲取ProgramData
路徑。如何使用QStandardPaths獲得「ProgramData」路徑
詳情:
- 我想知道如何使用QStandardPaths類的函數來獲取
ProgramData
路徑。 - 我想要跨平臺解決方案,這就是爲什麼我要使用QStandardPaths。我相信QT提供了這樣的解決方案,但我找不到它。
- 人們可能會問我爲什麼要這樣做,或者可能暗示它不好使用
ProgramData
的路徑。首先,我打算複製我的應用程序的用戶獨立配置文件。我希望所有用戶都能夠訪問該文件,僅用於閱讀。我將在設置步驟中找到必要的文件。 (我們雖然可以討論這種情況下,如果這不是一個好辦法做到這一點)
我已經嘗試過:
QStringList locations = QStandardPaths::locateAll(QStandardPaths::DataLocation, QString(), QStandardPaths::LocateDirectory);
QStringList locations2 = QStandardPaths::standardLocations(QStandardPaths::DataLocation);
我試圖以管理員身份運行我的QT(以查看問題是否由於某些特權問題引起)並且沒有任何變化
從點1和點2的功能,我也嘗試使用QStandardPaths::GenericDataLocation
作爲標準的位置類型。其實,我已經試過在this鏈接,有 「ProgramData」 在其解釋
最後,我得到的是所有類型:
-
C:/用戶/ MYUSER /應用程序數據/ {本地|漫遊}
-
/數據
- 空
QString
。
這並沒有真正直接回答你的問題已經報道,但用於存儲用戶獨立的配置我建議使用['QSettings'](HTTP ://doc.qt.io/qt-5/qsettings.html)與['QSettings :: SystemScope'](http://doc.qt.io/qt-5/qsettings.html#Scope-enum)。 – Bowdzone
我們不能使用像這樣的東西QString path1 =「C:/ ProgramData /」; QDir dir1(path1); dir1.setFilter(QDir :: NoDotAndDotDot | QDir :: Files);不確定只是問 – vishal