Trennung von Gui und Code

Programmierung für GNOME und GTK+, GUI-Erstellung mit Glade.
Antworten
cos4
User
Beiträge: 23
Registriert: Freitag 30. November 2007, 21:17

Ich schreibe derzeit Programme mit python und Glade. Damit hab ich die eigentliche GUI ja schon getrennt vom Code aber der Gtkbuilder und die onclick etc Methoden sind ja immer noch im normalen Code.
Bei visual studio und Co ist das ja auch nochmal getrennt, wie handhabt man das bei python normalerweise? Man könnte ja Klassen für die GUI machen und welche für die Funktionen.

Ps: brauche ich eigentlich für jede form also jede Glade Datei einen eigenen Gtkbuilder? Das sind dann auf son programm gerechnet einige.
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

cos4 hat geschrieben:Man könnte ja Klassen für die GUI machen und welche für die Funktionen.
Haja, damit hast du's dir doch schon beantwortet ;-) Schau dir mal das "Model-View-Controller"-Konzept an.

Kurz: Du baust drei Komponenten, das Frontend (z.B. GUI), das Backend (z.B. eine Datenbank oder sonst irgendwas, was dir Daten liefert, die du im Frontend anzeigen willst) und einen Controller, der die beiden Komponenten verbindet. Frontend und Backend funktionieren unabhängig voneinander: Jede Komponente muss problemlos austauschbar sein, ohne am Code der anderen beiden Komponenten etwas zu ändern. (Utopie *duckundweg*) Kommunikation findet über Nachrichten/Signale statt. Frontend und Backend kommunizieren niemals direkt miteinander, sie wissen nicht, dass es das Gegenüber gibt.
Ps: brauche ich eigentlich für jede form also jede Glade Datei einen eigenen Gtkbuilder? Das sind dann auf son programm gerechnet einige.
Ja schon, aber du kannst ja in jede Glade-Datei mehrere Fenster rein, also werden es doch nicht so viele Glade-Dateien ;)
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Es gibt übrigens auch PyGTKMVC, einfach mal danach suchen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
cos4
User
Beiträge: 23
Registriert: Freitag 30. November 2007, 21:17

Danke. Ich denke ich werde dann bei größeren Projekten die Teile entsprechend trennen.
start_with_python
User
Beiträge: 41
Registriert: Samstag 20. Juni 2009, 18:12

Leonidas hat geschrieben:Es gibt übrigens auch PyGTKMVC, einfach mal danach suchen.
Hast du damit Erfahrung, Leonidas?
Ich habe bis jetzt bei Glade immer den GTKBuilder genutzt. Verlangt pygtkmvc libglade?
Ich finde nirgendwo Informationen darüber wie ich eien .glade-Datei die im GTKBuilder-Format gespeichert wurde zu benutzen ist.

Wenn ich mich richtig belesen habe soll doch der GTKBuilder libglade nach und nach ablösen, oder nicht? Deshalb will ich das Format eigentlich beibehalten...
Grüße[b]
start_with_python[/b]

Lust auf [url=https://www.dropbox.com/referrals/NTE5OTQ5Mjk5]DropBox[/url]? (RefLink)
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

start_with_python hat geschrieben:
Leonidas hat geschrieben:Es gibt übrigens auch PyGTKMVC, einfach mal danach suchen.
Hast du damit Erfahrung, Leonidas?
Nein. Ist mir nur vor paar Jahren im Gedächtnis geblieben. Aber da wie du richtig sagtest, GtkBuilder das GLADE-Format ablösen soll nehme ich an, dass PyGTKMVC früher oder später das auch unterstützen wird.

Allerdings werde ich aus deinem Post nicht ganz schlau: was weißt du nicht? Wie man GLADE-Dateien einbindet? Wie man GtkBuilder-Dateien einbindet?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
start_with_python
User
Beiträge: 41
Registriert: Samstag 20. Juni 2009, 18:12

Leonidas hat geschrieben: Allerdings werde ich aus deinem Post nicht ganz schlau: was weißt du nicht? Wie man GLADE-Dateien einbindet? Wie man GtkBuilder-Dateien einbindet?
Hmm, ja. Hab ich doof formuliert. Ich wollte damit sagen, dass ich keine Anleitung oder Informationen zur Nutzung von .galde-Dateien im GTKBuilder-Format mit PyGTKMVC gefunden habe und deshalb nicht weiß wie ich sie damit nutzen soll/kann.

Aber danke, deine Antwort hat mir die Frage geklärt!
Grüße[b]
start_with_python[/b]

Lust auf [url=https://www.dropbox.com/referrals/NTE5OTQ5Mjk5]DropBox[/url]? (RefLink)
Antworten