Hallo, mein python(2.6) Frame (Type_InFrame) wird nicht angezeigt und
ich weiß nicht wieso:
Hauptdatei:
1 | from Tkinter import *
|
2 | import frames
|
3 |
|
4 | class App:
|
5 | def __init__(self, master):
|
6 | self.root = master;
|
7 | self.frame = None
|
8 | self.createWidgets()
|
9 |
|
10 | def type_in(self):
|
11 | self.frame.destroy() # der aktuelle Frame wird korrekt gelöscht
|
12 | self.frame = frames.Type_InFrame(self, self.root) # aber dieser neue Frame wird nicht angezeigt
|
13 |
|
14 | def createWidgets(self):
|
15 | if self.frame != None:
|
16 | self.frame.destroy()
|
17 | self.frame = Frame(self.root)
|
18 | self.frame.grid()
|
19 | self.buttonType_In = Button(self.frame, text="Type in", command=self.type_in)
|
20 | self.buttonType_In.grid(column=0, row=0)
|
21 |
|
22 | main = Tk()
|
23 | application = App(main)
|
24 | main.mainloop()
|
Datei "frames.py":
1 | from Tkinter import *
|
2 |
|
3 | class Type_InFrame(Frame):
|
4 | def __init__(self, app, master):
|
5 | Frame.__init__(self, master)
|
6 | self.app = app
|
7 | self.grid
|
8 | self.createWidgets()
|
9 |
|
10 | def createWidgets(self):
|
11 | self.buttonBack = Button(self, text="Back", command=self.back)
|
12 | self.buttonBack.grid(column=0, row=0)
|
13 |
|
14 | def back(self):
|
15 | self.app.createWidgets()
|
Hab aber beim Debuggen festgestellt, dass er auf jeden Fall in die
createWidgets()-Methode von Type_InFrame hineingeht. Nur leider bleibt
das Fenster leer.
Danke schon mal für eure Hilfe, Leute