问题描述
所以我有教程项目记事本。我正在尝试使用 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 (将#修改为@)