Hallo,
ich bastel derzeit mit QT Widgets ein kleines Programm, das eine Menge verschiedener Dialoge zu Konfigurationszwecken öffnen kann, die in einem MainWindow organisiert werden. In jedem einzelnem Fenster gibt es Daten, die für jeweilige Abschnitte zuständig sind. Alles recht simpel und da liegt auch nicht das Problem. Ich verwende QSettings um diese Daten in eine Datei zu schreiben/lesen.
Nun kann man innerhalb dieser Dialoge Werte lesen und verändern. Diese Werte sollen im Programm erstmal so bleiben, ohne dass sie mit Hilfe von QSettings geschrieben oder gelesen werden. Dies soll global im MainWindow passieren, wenn man es verlangt(-> Schreibe alles / -> Lese alles). Wenn ich also in Dialog X etwas ändere und das auch dort speichere, das Programm aber schließe, ohne die Werte zu schreiben, soll beim erneuten Aufruf des Programms wieder der ursprüngliche Wert drinstehen.
Ich habe jetzt einige Ansätze versucht, der aktuelle schreibt einfach alle Werte in eine Sammlung von Daten und beim Lesen/Schreiben im MainWindow werden die alle überschrieben bzw. eben ausgelesen.
Das sieht aber ziemlich unschön aus, weil es sich um globale Daten handelt und die überrall rumgereicht werden, auch wenn sie gar nicht in dem Abschnitt gebraucht werden.
Gibt es da einen schöneren Ansatz, der mir vor allem erspart, für jeden neuen Datensatz das halbe Programm anzupassen? Es kann in Zukunft ja auch mal ein neuer Dialog dazukommen.