Qt4.4如何获取用户设置路径

Ron*_*del 18 c++ qt

  • Linux的: $HOME/.config
  • 视窗: %APPDATA%
  • 苹果系统: $HOME/.config

它可以使用http://qt-project.org/doc/qt-4.8/qsettings.html#setPath设置,但似乎我无法检索它.

http://qt-project.org/doc/qt-4.8/qlibraryinfo.html#location QLibraryInfo::LibrariesPath返回系统范围的设置目录,这不是我想要的.

任何想法,还是我必须为每个平台单独编码?

€:我想创建一个子目录,并将文件存储到其中.(如果这是一个坏主意,你可以惩罚我)

Ari*_*yat 20

这可能无法直接回答您的问题:如果您想存储每个用户的持久数据,那么您不应该使用QDesktopServices :: storageLocation(QDesktopServices :: DataLocation)吗?


Pav*_*els 8

这是一个讨厌的解决方法.首先,您创建QSettings,然后获取其位置.

QSettings cfg(QSettings::IniFormat, QSettings::UserScope,
       "organization", "application");

QString config_dir = QFileInfo(cfg.fileName()).absolutePath() + "/";
Run Code Online (Sandbox Code Playgroud)

积分转到Qt中心论坛.

QSettings将默认配置存储在用户AppData目录中.请参阅文档QSettings.此代码还指示以Ini文件格式存储配置.


Pet*_*etr 5

这适用于qt 4和qt 5

QApplication::setApplicationName("MyApp");
QApplication::setOrganizationName("Me");

QString homePath;

#if QT_VERSION >= 0x050000
    homePath = QStandardPaths::writableLocation(QStandardPaths::DataLocation);
#else
    homePath = QDesktopServices::storageLocation(QDesktopServices::DataLocation);
#endif
Run Code Online (Sandbox Code Playgroud)