[gelöst] Daten beim Beenden eines QT-Progs sichern. Wo/Wie?
[gelöst] Daten beim Beenden eines QT-Progs sichern. Wo/Wie?
GUten Morgen,
ich möchte, wenn ich ein Programm beende, gewisse Konfigurationsdaten sichern. Dazu dachte ich daran eine Konfigurationsdatei zu nutzen.
Wo muss die Implementierung rein?
In den Destruktor des QMainWindow?
Oder gibt es spezielle Methoden, die ich überschreiben muss?
Oder kann ich in die Registry von Windows schreiben?
Grüße
Christian
ich möchte, wenn ich ein Programm beende, gewisse Konfigurationsdaten sichern. Dazu dachte ich daran eine Konfigurationsdatei zu nutzen.
Wo muss die Implementierung rein?
In den Destruktor des QMainWindow?
Oder gibt es spezielle Methoden, die ich überschreiben muss?
Oder kann ich in die Registry von Windows schreiben?
Grüße
Christian
Zuletzt geändert von bw1faeh0 am 13. November 2007 10:42, insgesamt 1-mal geändert.
Re: Daten beim Beenden eines QT-Progs sichern. Wo/Wie?
Scheinbar kann ich da was mit QSettings machen.bw1faeh0 hat geschrieben:GUten Morgen,
Oder kann ich in die Registry von Windows schreiben?
Re: Daten beim Beenden eines QT-Progs sichern. Wo/Wie?
void closeEvent(QCloseEvent* event) reimplementieren (weiterebw1faeh0 hat geschrieben:GUten Morgen,
ich möchte, wenn ich ein Programm beende, gewisse Konfigurationsdaten sichern. Dazu dachte ich daran eine Konfigurationsdatei zu nutzen.
Wo muss die Implementierung rein?
In den Destruktor des QMainWindow?
Oder gibt es spezielle Methoden, die ich überschreiben muss?
Oder kann ich in die Registry von Windows schreiben?
Grüße
Christian
Hilfe in Qt-Assistant)
und benutz für deine Einstellungen lieber eine INI-Datei .
Code: Alles auswählen
QSettings settings(QApplication::applicationDirPath()+QDir::separator()+"MeinProgramm.ini", QSettings::IniFormat, this);Bitte seid so nett und ändert den Titel von Beiträgen die gelöst wurden, auf [gelöst] Beitragstitel
Und wenn Du da nicht schreiben darfst wo Du schreiben willst? Gibt es dann keine INI oder wird doch ins User-Verzeichnis geschrieben?
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
Genau da fuer sind die DInger auch da,
WIr nutzen das hier auch intensiv, und funktioniert super.
Warum willst du die daten erst wegspeichern, wenn die Application schliesst ?
Normal aender ich sie gleich immer, wenn der User was an den "einstellungen" aendert.
Wenns unbedingt sein muss, wegen der Art der date, ist das close event eine moeglichkeit.
Ich bau dann aber eher nen object, was die Konfiguration in ner Datenstruktur haelt. Zum lesen und schreiben nutzt das nen qSetting object dann. Wenn Du das DIng als QObject ausfuerst, klingt sich ja das in den auto delete mechanismus ein, und du kannst im destruktor sichern, da bist sicher das das auch funzt wenn die App nicht ueber normale Events beendet wird (kill) zumidnest wenn das erwunscht ist .... nen richtig harten Crash / Abschuss faengst aber auch ned ab damit.
Fuer normale zwecke ist sicher die Close Event Methode die sauberere (in nem DTor sollt man ned mehr so viel kritisches machen)
Ini format deshalb, weil Nativ unter windows dann die regestry benutzt wird. Funktioniert zwar prinzipiell auch super, aber reg ist halt schmutz ... pfui pfui ... ^^
Ciao ...
WIr nutzen das hier auch intensiv, und funktioniert super.
Warum willst du die daten erst wegspeichern, wenn die Application schliesst ?
Normal aender ich sie gleich immer, wenn der User was an den "einstellungen" aendert.
Wenns unbedingt sein muss, wegen der Art der date, ist das close event eine moeglichkeit.
Ich bau dann aber eher nen object, was die Konfiguration in ner Datenstruktur haelt. Zum lesen und schreiben nutzt das nen qSetting object dann. Wenn Du das DIng als QObject ausfuerst, klingt sich ja das in den auto delete mechanismus ein, und du kannst im destruktor sichern, da bist sicher das das auch funzt wenn die App nicht ueber normale Events beendet wird (kill) zumidnest wenn das erwunscht ist .... nen richtig harten Crash / Abschuss faengst aber auch ned ab damit.
Fuer normale zwecke ist sicher die Close Event Methode die sauberere (in nem DTor sollt man ned mehr so viel kritisches machen)
Ini format deshalb, weil Nativ unter windows dann die regestry benutzt wird. Funktioniert zwar prinzipiell auch super, aber reg ist halt schmutz ... pfui pfui ... ^^
Ciao ...