2016-05-20 15 views
0

ich zum Speichern schrieb einige Codes für eine Anwendung und ich möchte diese Einstellungen wie ein LineEdit oder etc ausblenden retten ... und wenn Programm letzten Einstellungen laden und wenn Einstellungen speichern Benutzer bearbeiten wird öffnen, die gespeicherte UpdatesWie Einstellungen in Qt

was muss ich tun?

Hinweis: Ich habe Qsettings verwendet, aber Einstellungen wurden nicht gespeichert! , wenn möglich, eine Person, die einen Beispielcode für mich schreiben, den aktuellen Index einer

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

Sie müssen die Methode 'settings.value' verwenden, um Werte zu laden. Du hast es nicht getan. Es ist nicht klar, welches Problem hast du? –

+0

ich habe das benutzt! siehe den Code! ui-> comboBox-> setCurrentIndex (einstellungen.Wert ("comboBox"). ToInt()); –

Antwort

1

Combobox sparen, wenn Sie Ihre Einstellungen in Secretary::on_comboBox_currentIndexChanged sparen Sie anrufen settings.beginGroup("comboBox") dann Sie den Wert settings.setValue("comboBox",ui->comboBox->currentIndex()) gesetzt.

Gemäß der documentation wird dies den Wert der Einstellungen "comboBox/comboBox" festlegen, was bedeutet, dass Sie seinen Wert mit settings.value("comboBox/comboBox").toInt() lesen sollten.

Bitte beachten Sie auch, dass Sie settings.setValue nur anrufen, wenn currentIndex zu 2 wechselt, sind Sie sicher, dass Sie das beabsichtigen? Meinst du nicht, es nach all deinen if/else Blöcken zu nennen?