2016-05-20 2 views
0

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

Что я должен делать?

примечание: я использовал Qsettings, но настройки не сохраняются! если это возможно один человек Написать Пример код для меня, что сохранить текущий индекс выпадающего списка,

QSettings settings("Mobtakeran Fanavri KabooK","Kabook Physiothrapy"); 

Secretary::Secretary(QWidget *parent) : 
    QWidget(parent), 
    ui(new Ui::Secretary) 
{ 
    ui->setupUi(this); 
    ui->comboBox->setCurrentIndex(settings.value("comboBox").toInt()); 
} 
Secretary::~Secretary() 
{ 
    QCoreApplication::setOrganizationName("Mobtakeran Fanavri KabooK"); 
    QCoreApplication::setOrganizationName("WWW.M4RZB4Ni.IR"); 
    QCoreApplication::setApplicationName("Kabook Physiothrapy"); 

    delete ui; 
} 
void Secretary::on_comboBox_currentIndexChanged(int index) 
{ 
    settings.beginGroup("comboBox"); 
    if(ui->comboBox->currentIndex()==2) { 
     ui->pushButton_3->setDisabled(true); 
    } else if(ui->comboBox->currentIndex()==1) { 
     ui->pushButton_3->hide(); 
     settings.setValue("comboBox",ui->comboBox->currentIndex()); 
    } else if(ui->comboBox->currentIndex()==0) { 
     if(ui->lineEdit_56->text()==NULL) { 
      ui->pushButton_8->setDisabled(true); 
     } 
    } 
    settings.endGroup(); 
} 
+0

Для загрузки значений необходимо использовать метод 'settings.value'. Ты этого не делал. Неясно, какая у вас проблема. –

+0

Я использовал это! см. Код! ui-> comboBox-> setCurrentIndex (settings.value ("comboBox"). ToInt()); –

ответ

1

, когда вы сохраняете свои настройки в Secretary::on_comboBox_currentIndexChanged вы звоните settings.beginGroup("comboBox"), то вы установите значение settings.setValue("comboBox",ui->comboBox->currentIndex()).

В соответствии с documentation, это установит значение настроек "comboBox/comboBox", что означает, что вы должны прочитать его значение, используя settings.value("comboBox/comboBox").toInt().

Также обратите внимание, что вы вызываете settings.setValue только в том случае, если currentIndex изменяется на 2, вы уверены, что хотите сделать это? Разве вы не хотели называть его после всех ваших блоков if/else?

Смежные вопросы