Kommunikation zwischen verschachtelten Frames
Verfasst: Freitag 28. Dezember 2007, 23:01
Hallo
Ich baue mir gerade ein MineSweeper um ein bischen Python zu lernen.
Für die Darstellung der Button habe ich mir eine Klasse geschrieben:
Das lege ich dann in meine eigentliche Anwendung:
Jetzt muss ich den Button im inneren (Mine-) Frame sagen, dass sie doch bitte ein Nachricht an die äussere Klasse schicken. Bis jetzt habe ich bei der Erstellung der Buttons einen lambda-Ausdruck stehen, in dem ich Identifikation der Buttons habe, jetzt muss ich diese Information nur eine Klasse höher bekommen.
Könnte mir da vielleicht jemand weiterhelfen?
Nikolas
Ich baue mir gerade ein MineSweeper um ein bischen Python zu lernen.
Für die Darstellung der Button habe ich mir eine Klasse geschrieben:
Code: Alles auswählen
import Tkinter as tk
import tkFont
class MineFrame(tk.Frame):
def __init__(self,master):
self.master = master
self.x = -1
self.y = -1
tk.Frame.__init__(self)
self.grid()
self.setDimensions(3,4) # HACK
# setzt die Anzahl der Buttons neu und erstellt sie
def setDimensions(self,x,y):
self.x = x
self.y = y
self.createWidgets()# hier werden die Buttons in einer Liste angelegt
Code: Alles auswählen
import MineGUI
import Tkinter as tk
class FooApp(tk.Frame):
def __init__(self):
self.x = -1
self.y = -1
tk.Frame.__init__(self)
self.grid()
self.button = tk.Button(self,text="fooBar")
self.button.grid()
self.frame = MineGUI.MineFrame(self)
self.frame.grid()
def foo(self,x,y):
print x
# hier steht dann die eigentlich Logik des Spiels ...
app = FooApp()
app.mainloop()
Könnte mir da vielleicht jemand weiterhelfen?
Nikolas