无法让 QSettings 正确编写我的设置

问题描述

所以我有教程项目记事本。我正在尝试使用 QSettings 以便将字体、字体大小和其他字体相关选项保存在文件中,但它从未正确加载它们,并且当我检查配置文件时,这些值看起来很奇怪。

void Notepad::saveSettings()
{
    QSettings setting("MyTE","myte");
    QFont font = this->font();
    setting.beginGroup("MainWindow");
    setting.setValue("text.font",font.toString());
    setting.setValue("text.font.family",font.family());
    setting.setValue("text.font.size",font.pointSize());
    setting.setValue("text.font.bold",font.bold());
    setting.setValue("text.font.italic",font.italic());
    setting.endGroup();
    qDebug() << "Saved";
}

void Notepad::loadSettings(){
    QSettings setting ("MyTE","myte");
    QFont font = setting.value("text.font",QString()).toString();
    setting.beginGroup("MainWindow");
    QString fontFamily = setting.value("text.font.family",QString()).toString();
    int fontSize = setting.value("text.font.size",12).toInt();
    setting.setValue("text.font.size",fontSize);
    //bool fontIsBold = setting.value("text.font.bold",false).toBool();
    //bool fontIsItalic = setting.value("text.font.italic",false).toBool();
    setFont(font);
    font.setPointSize(fontSize);
    setting.endGroup();
    qDebug() << "Loaded";

}

我取消了粗体的注释,因为它们根本不起作用。 我有 2 个按钮与这 2 个功能相对应,我还在应用程序首次启动时调用了 loadSettings()。

这是配置文件中的输出,它永远不会改变,只是重置为这些奇怪的值。

[MainWindow]
text.font=",9,-1,5,50,0"
text.font.bold=false
text.font.family=
text.font.italic=false
text.font.size=9

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)