Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt 如何在现有QSettings文件中添加组_Qt_Qsettings - Fatal编程技术网

Qt 如何在现有QSettings文件中添加组

Qt 如何在现有QSettings文件中添加组,qt,qsettings,Qt,Qsettings,我已经在我的代码中创建了一个QSettings文件,但是一个新函数需要在我的QSettings文件中添加一个新组,所以我仍然使用代码: settings = QSettings() settings.beginGroup("showItem") settings.setValue("show", True) settings.endGroup() 但这与我的旧QSettings文件无关!因此,有人知道如何在QSettings文件中添加新组吗?如果没有运行事件循环,则可以直接调用QSetting

我已经在我的代码中创建了一个QSettings文件,但是一个新函数需要在我的QSettings文件中添加一个新组,所以我仍然使用代码:

settings = QSettings()
settings.beginGroup("showItem")
settings.setValue("show", True)
settings.endGroup()

但这与我的旧QSettings文件无关!因此,有人知道如何在QSettings文件中添加新组吗?

如果没有运行事件循环,则可以直接调用QSettings::sync来强制应用更改。

我在关闭应用程序的函数中使用setValue,然后在下次运行时恢复该值。比如说,

void MyApp::closeEvent(QCloseEvent* e) 
{
    (void)(e);  // UNUSED PARAMETER

    QSettings settings("MpApp", abc);
    settings.setValue("show", x); // Where x is a bool datatype 
}
并在初始化时使用此代码还原值:

QSettings settings("MyApp", abc);
bool x = settings.value("show").toBool();

希望有帮助

您忘记设置文件了吗?您知道,根据您正在运行的操作系统,QSETING文件是在程序执行结束时写入的吗?什么是正确的?是打字错误吗?Qt中有Q_未使用的宏。你提出了一个解决办法,但不是答案。