如何在Qt设置中存储?

时间:2012-03-09 09:00:59

标签: qt

我目前正在创建一个对话框,其中显示“不再显示”复选框。单击复选框并关闭对话框(按下确定按钮)后,应用程序将在QSettings中存储此对话框之前已打开。

我不熟悉Qt设置并查看API,我不知道要使用哪种功能。

有人能指出我正确的方向吗?谢谢!

顺便说一句,我确实试过QErrorMessage,但是消息框一直弹出,所以我放弃了。

void MessageBox::on_checkBox_stateChanged(int arg1)
{
    if(ui->checkBox->stateChanged(arg1) && ui->pushButton->clicked(true))
    //I believe this is right.
    {
       writeSettings();
    }
}

void MessageBox::writeSettings()
{
    QSettings settings;
//...help; Question: Should I write in main.cpp or in the .h?
}

void MessageBox::readSettings()
{
//...help
}

1 个答案:

答案 0 :(得分:3)

要在此表单中使用QSettings构造函数,您必须为应用程序设置组织和应用程序名称,如果您在那里创建它,可能在main.cpp中:

QApplication a(argc, argv);
a.setOrganizationName("MySoft");
a.setApplicationName("Star Runner");

然后在你的writeSettings()中执行:

QSettings settings;
settings.setValue("showErrorMessages", ui->checkBox->isChecked());

并在readSettings()

QSettings settings;
bool showErrorMessages = settings.value("showErrorMessages", true).toBool()

全部都在docs并且非常清楚地解释了IMO。