PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : GUI input speichern / laden ->sinnvolle vorgehensweise



Mat
27-12-2005, 22:51
Hallo,
ich habe eine OBerflächedie aus vielen combo Boxen, entries, checkbuttons, radiobuttons etc... besteht.
Ich würde gerne die Option einbauen dass jeglicher input der gemacht wurde...also z.B die gefüllten entries oder die current-items der comboboxen gespeichert würden und bei bedarf einfach auf load alles wieder geladen werden würde....

Wie könnte man dass am effizientesten gestalten?
Das speichern soll also erst auf einen Button-Klick den gesamten GUI input speichern. Und dann halt wenn der User möchte einfach auf einen Load-Button der dann z.B das gespeicherte wieder einliest.
Ist es die inzig logische Vorgehensweise alles in ein file zu speichern z.B mit dem Widget und dem Wert?

Wie ist so etwas üblich?

xmarvel
29-12-2005, 10:57
Gute Frage würde ich auch gern mal wissen!
Man könnte alles einzelen abfragen und dann in eine XML Datei abspeichern oder im INI Format das würde bein einzelnen Widget noch zumutbar sein aber wenn es mehrere sind hat man ja ne echte fleissarbeit.

MfG
xmarvel

BeS
29-12-2005, 14:28
Hallo,
ich denke für viele, vorallem kleinere, Sachen reichen ganz normale Textfiles für die man sich dann halt ein Format überlegt und irgendwo notiert/dokumentiert, welches möglichst einfach zum schreiben und lesen ist.

Ansonste kannst du natürlich das ganze auch in xml files packen. Das wäre mir für kleinere bis mittelgroße Sachen aber zu aufwendig. Textdateien sind erstaunlich lange sehr performant.
Wenn es Programmeinstellungen sind welche beim Programmstart auch automatisch eingelesen werden sollen, empfiehlt sich natürlich das config-System des jeweiligen Desktops (z.B. gconf bei GNOME).

Kirsche
29-12-2005, 23:49
Hallo Mat,

ich würde auch eine Textdatei vorschlagen, die du mit QTextStream einliest. Du kannst dort deine Parameter folgendermaßen eintragen:

combo=wert1 (dann musst du bei "=" den String splitten)

oder

[combo]
wert1

Dann kannst du zeilenweise einlesen und nach [ ] abtesten.

Für das Abspeichern von Fenstereinstellungen eignet sich auch QSettings. Unter Linux werden die Daten in einer Textdatei abgelegt (unter Windows leider in der Registry).

Schöne Grüße,