Qt:首选项未通过信号和插槽机制恢复

时间:2012-01-31 10:40:08

标签: preferences signals-slots qt4.7 qsettings

在我的文本编辑器应用程序中,我将用户字体格式选择保存为首选项。

首先在构造函数中设置信号和插槽,然后按以下代码中的方式读取首选项:

构造函数:

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);时,文本是否应该变为粗体,因为信号和插槽机制已经定义了?如果是这样,为什么它不适用于我的应用程序?大胆的功能本身非常好。

有没有比我正在做的更好的方法呢?谢谢你的帮助

0 个答案:

没有答案