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

Posted

技术标签:

【中文标题】如何在现有的 QSettings 文件中添加组【英文标题】:how to add a group in a exist QSettings file 【发布时间】:2015-04-07 08:55:39 【问题描述】:

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

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

但注释与我的旧 QSettings 文件有关!那么,有人知道如何在QSettings 文件中添加新组吗?

【问题讨论】:

忘记设置文件了吗? 您知道根据您运行的操作系统,QSetting 文件是在程序执行结束时写入的吗? 什么是True?是错字吗? 【参考方案1】:

我在关闭应用程序的函数中使用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();

希望有帮助!

【讨论】:

Qt 中有Q_UNUSED 宏。您提出了解决方法,但没有给出答案。【参考方案2】:

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

【讨论】:

以上是关于如何在现有的 QSettings 文件中添加组的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Pandas 在现有的 excel 文件中保存新工作表?

如何在现有的旧版Android项目中使用最新的API添加Google Map?

如何在现有的 webview android 中添加自定义按钮?

如何在现有的 Android 操作系统源中添加额外的项目?

pandas如何在现有的Excel表格上新建工作表并添加dataframe

如何在现有的 Firebase json 结构下添加子节点?