ich nicht nur neu hier sondern auch neu mit QT. Ich habe eine kleine Anwendung geschrieben, die einige Werte in der Registry speichert (Ja es ist ein Windows Programm). Unter anderem wird ein Dateipfad und ein Dateiname gespeichert. Diese werden im Programm in einem lineEdit angezeigt.
Jetzt kommt es manchmal vor, dass nach dem Start des Programmes das lineEdit leer ist, der Wert also nicht (richtig) gelesen wurde.
Ich würde jetzt gerne von euch wissen ob meine Routine zum Speicher korrekt ist. Was mich besonders irritiert ist, dass es manchal geht und dann wieder nicht. Wenn es aber einmal nicht geht, geht es so lange nicht bis ich die entsprechenden Einträge gelöscht haben (Nicht nur die Werte sondern auch die Ordner)
Hier mein Code soweit. Wird jeweils bei Programmstart und -ende ausgeführt.
Code: Alles auswählen
void QT::readSettings()
{
//Auslesen der Einstellungen
QSettings settings("Uni Mainz", "Watchdog");
settings.beginGroup("Einstellungen");
path = settings.value("Pfad", "C:/").toString();
file = settings.value("Dateiname", "log.txt").toString();
ui.ScrollTimeout->setValue(settings.value("ScrollTimeout", 60).toInt());
ui.ScrollVerz->setValue(settings.value("ScrollVerz", 0).toInt());
ui.ScrollTrigger->setValue(settings.value("ScrollTrigger", 10).toInt());
ui.checkBoxAutostart->setChecked(settings.value("autostart",false).toBool());
settings.endGroup();
}
void QT::writeSettings()
{
//Speichern der Einstellungen
QSettings settings("Uni Mainz", "Watchdog");
settings.beginGroup("Einstellungen");
settings.setValue("Pfad", path);
settings.setValue("Dateiname", file);
settings.setValue("ScrollTimeout", ui.ScrollTimeout->value());
settings.setValue("ScrollVerz", ui.ScrollVerz->value());
settings.setValue("ScrollTrigger", ui.ScrollTrigger->value());
settings.setValue("autostart", ui.checkBoxAutostart->isChecked());
settings.endGroup();
}
Grüße und schöne Ostern auch allen