QSettings
是一个非常适合处理 INI 文件的类。我会检查一下。它经过了很好的优化,并且非常健壮。它还QVariant
以非常智能的方式使用。它还可以很好地处理“组”。
http://qt-project.org/doc/qt-4.8/qsettings.html
// in your main, or somewhere very early in your program
qApp->setApplicationName("Star Runner");
qApp->setOrganizationName("MySoft");
QSettings::setDefaultFormat(QSettings::IniFormat);
稍后当您想要访问或设置设置时
QSettings s; // in windows this would be
// C:/Users/<username>/AppData/Roaming/MySoft/Star Runner.ini
或者您可以通过这种方式指定您的 ini 文件以指向特定的 ini 文件
QSettings::QSettings ( const QString & fileName, Format format, QObject * parent = 0 )
QSettings s("path/to/my/inifile.ini", QSettings::IniFormat);
现在是使用设置变量的示例:
// set the setting
s.setValue("group_name/setting_name", new_value);
// retrieve the setting
// Note: Change "toType" to whatever type that this setting is supposed to be
current_value = s.value("group_name/setting_name", default_value).toType();
如果你想处理嵌套元素和 gui 布局和设计,我会看 XML 或 JSON。两者都受 Qt 支持。
XML 是 Qt Creator 存储由 Qt Designer 创建的 UI 文件的本机方式。
http://qt-project.org/doc/qt-5.0/qtxml/qtxml-module.html
http://qt-project.org/doc/qt-5.0/qtcore/json.html
希望有帮助。