Как мне сохранить значение в QlineEdit или флажок, чтобы сохранить его значение после закрытия программы?

0

Как сохранить значение введенного пользователем QlineEdit или флажка, который установлен, чтобы поддерживать его состояние даже после закрытия программы, таким образом, пользователь может получить доступ к содержимому этого флажка или lineEdit при следующем запуске программы.

Теги:
qt

2 ответа

1
Лучший ответ

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());
}
  • 0
    Сладко это сработало! Благодарю.
  • 0
    На самом деле, я получаю проблемы, когда в следующей строке написано «недопустимое преобразование из int в Qt :: CheckState»: checkBox->setCheckState(settings.value("box", 0).toInt());
Показать ещё 1 комментарий
0

Сохраните значение в файле и откройте файл при следующем запуске программы и прочитайте его.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню