MineSweeper: wie spreche ich Buttons im Grid an?
-
- User
- Beiträge: 419
- Registriert: Sonntag 3. September 2006, 15:11
- Wohnort: in den weiten von NRW
- Kontaktdaten:
Das mit dem "master" hast du jetzt etwsa durcheinander gebracht. Das bezog sich auf die Variante, in der du von tk.Frame geerbt hast. Da musst/solltest du der "tk.Frame.__init__" "master" als 2. Argument übergeben, wobei "master" dann eine tk.Frame oder tk.Tk Instanz sein muss (oder ein anderes geeignetes tk-Widget, wzB tk.Canvas). Da du jetzt aber eine eigene Klasse hast, die selbst ein tk.Tk-Fenster erzeugt, brauchst du das nicht. Ansonsten ist das aber eine Möglichkeit.
-
- User
- Beiträge: 102
- Registriert: Dienstag 25. Dezember 2007, 22:53
- Wohnort: Freiburg im Breisgau
Den "master"-Eintrag in der GUI Klasse nutze ich dazu, eine Schnittstelle zwischen Darstellung und Logik zu haben. Jetzt kann ich recht einfach den Buttons sagen, dass sie eine Funktion der Klasse oben drüber aufrufen sollen. Oder gibt es da einen einfacheren Weg, also hat eine Klasse immer schon die Information, von wem sie erschaffen wurde?
Erwarte das Beste und sei auf das Schlimmste vorbereitet.
-
- User
- Beiträge: 419
- Registriert: Sonntag 3. September 2006, 15:11
- Wohnort: in den weiten von NRW
- Kontaktdaten:
Achso, das ist extra so. Na dann ist's ok, ich dachte nur, weil's vorher auch um master und so ging.
Im Grunde ist es ok was du machst, meistens ist es aber einfacher, die GUI-Klasse oben zu haben, denn dort hast du Events, die du verarbeitest ect. Die Datengeschichten kannst du meist in Methoden packen, die du von der Graphik aufrufst. Und wenns nicht ganz so einfach ist, kannst du deine GUI von der Data-Class erben lassen. Dann hast du alles in einem und doch getrennt.
Im Grunde ist es ok was du machst, meistens ist es aber einfacher, die GUI-Klasse oben zu haben, denn dort hast du Events, die du verarbeitest ect. Die Datengeschichten kannst du meist in Methoden packen, die du von der Graphik aufrufst. Und wenns nicht ganz so einfach ist, kannst du deine GUI von der Data-Class erben lassen. Dann hast du alles in einem und doch getrennt.