如何在QlineEdit中保留值,或者在程序关闭后保留其值的复选框?

How do I keep a value within QlineEdit or a checkbox to retain it's value after program is closed?

本文关键字:保留 复选框 或者 QlineEdit 程序      更新时间:2023-10-16

如何保持用户输入的QlineEdit或复选框的值,即使在程序关闭后也保持其状态,这样,用户下次启动程序时就可以访问该复选框或lineEdit的内容。

Qt有一个专门的解决方案,即QSettings:

void MainWindow::saveSettings()
{
    QSettings settings("settings.set", QSettings::NativeFormat);
    // save value from QLineEdit
    QString text = lineEdit->text();
    settings.setValue("text", text);
    // save value of QCheckBox
    settings.setValue("box", (int)checkBox->checkState());
}
void MainWindow::loadSettings()
{
    QSettings settings("settings.set", QSettings::NativeFormat);
    // restore value of QLineEdit
    QString text = settings.value("text", "").toString();
    lineEdit->setText(text);
    // restore value of QCheckBox
    checkBox->setCheckState((Qt::CheckState)settings.value("box", 0).toInt());
}

将值存储在一个文件中,并在程序的下一次启动时打开该文件并从中读取。