在我的.cpp中我使用QSettings 这在Qt 4.8之前有效:
#include <QSettings>
----------
QSettings settings;
settings.setValue("time_axis_direction", 1);
int test_var = settings.value("time_axis_direction").toInt();
----------
在test_var
中程序返回0,原因是什么?
我使用Qt和VS Add-In。
答案 0 :(得分:7)
根据docs,您必须设置组织名称和应用程序名称:
QCoreApplication::setOrganizationName("My Organization");
QCoreApplication::setApplicationName("My Application");
QSettings settings;
或者在构造函数中:
QSettings settings("My Organization", "My Application");
这将创建HKCU\SOFTWARE\My Organization\My Application
注册表项以存储您的设置(在Windows上)。
如果先前未调用过QCoreApplication :: setOrganizationName()和QCoreApplication :: setApplicationName(),则QSettings对象将无法读取或写入任何设置,而status()将返回AccessError。