Eines meiner Hauptprobleme beim Programmierenlernen war bisher bei jedem Anlauf, dass ich bei GUI-Programmierung kläglich gescheitert bin, weil mir das Zusammenspiel zwischen GUI und Logik einfach nicht klar werden wollte. Entsprechende Toolkit-Dokus haben da für meinen Geschmack auch immer einen Schritt übersprungen, während die Lehrbücher einen Schritt zu früh aufgehört haben.
Ich habe mir nun das PyQt-Buch von Peter Bouda gekauft, und seit ich damit arbeite, ist mir vieles klarer geworden.
Jetzt arbeite ich an einem ersten Projekt und habe doch noch eine Frage.
Das Projekt wird ein (erstmal) sehr einfaches Hangman. Aufteilung habe ich so vorgenommen: Eine Klasse für das eigentliche Ratewort, wie bereits in einem älteren Thread von mir diskutiert. Eine Klasse für die GUI, die sich allein um das Programmfenster und das Event-Handling kümmert. Eine Controller-Klasse, die als Verbindung zwischen GUI und Ratewort-Klasse dienen soll.
Mir ist jetzt ein bisschen unklar, welche Verbindung am günstigsten ist... zwei Ideen:
1. Ich gebe der GUI-Klasse ein Controller-Objekt und ein Ratewort-Objekt als Attribut, also
Code: Alles auswählen
self.controller = Controller()
self.wort = Wort()
2. Ich gebe der Controller-Klasse die GUI und das Wort als Attribute, also
Code: Alles auswählen
self.fenster = GUI()
self.wort = Wort()
Ist mein Problem verständlich? Wie würdet ihr sowas angehen / lösen?