bei Programmen mit GUI ist es ziemlich oft eine ziemliche Arbeit, Konfigurationsoberflächen zu schreiben; die Zuordnung Widget -> Option in der Konfigurationsdatei raubt zumindest mir den Nerv. Daher hab ich mich mal hingesetzt und versucht, ein Modul zu schreiben, das das Ganze etwas vereinfacht. Herausgekommen ist Confyguration. Das Grundkonzept sieht so aus: Für jedes Widget soll es einen Wrapper geben (ein sog. Wiggy), der die Aufgabe hat, den Wert des Widgets konfigurationsgerecht aufzubereiten oder zu setzen. In einer zentralen Klasse (namens Confy ) registriert man dann die Widgets, die Optionen in der Konfigurationsdatei repräsentieren. Nun reicht ein einfaches 'confy.read()', um die Werte aus der Konfigurationsdatei einzulesen und die Werte der Widgets zu setzen, und später ein 'confy.save()', um die Werte auszulesen und abzuspeichern. Im Mercurial-Repo gibts dazu auch ein Beispiel, die API-Dokumentation ist hier zu finden.
Die Wiggy-Bibliothek (der 'Stock') ist momentan noch ziemlich dünn: Es gibt lediglich ein Wiggy für gtk.Entry und eines für einen gtk.FileChooserButton in Verzeichnismodus. Grundsätzlich sollte es möglich sein, für jedes GUI-Toolkit Wiggies zu schreiben.
Wen's interessiert: Den Code bekommt man per
Code: Alles auswählen
hg clone https://sharesource.org/confyguration/
Gruß Fred