在我的文本编辑器应用程序中,我将用户字体格式选择保存为首选项。
首先在构造函数中设置信号和插槽,然后按以下代码中的方式读取首选项:
构造函数:
boldAction->setCheckable(true);
italicAction->setCheckable(true);
underlineAction->setCheckable(true);
fontSizeSelector->setCheckable(false);
connect(boldAction,SIGNAL(changed()),this,SLOT(bold()));
connect(italicAction,SIGNAL(triggered()),this,SLOT(italic()));
connect(underlineAction,SIGNAL(triggered()),this,SLOT(underline()));
ReadUserPreferences():
void TextEditor::readUserPreferences()
{
QSettings userPreferences(QSettings::NativeFormat,QSettings::UserScope,ORGANIZATION_TITLE,APPLICATION_TITLE);
this->boldAction->setChecked( userPreferences.value("appearance/bold").toBool() );
this->italicAction->setChecked( userPreferences.value("appearance/italic").toBool() );
this->underlineAction->setChecked( userPreferences.value("appearance/underline").toBool());
//other code.
}
现在,在readPreferences函数中,当boldAction->setChecked(true);
时,文本是否应该变为粗体,因为信号和插槽机制已经定义了?如果是这样,为什么它不适用于我的应用程序?大胆的功能本身非常好。
有没有比我正在做的更好的方法呢?谢谢你的帮助