ich bin totaler Frischling

Aber wo zum Pfirsich hakt es? Ich erzeuge doch top in Zeile 53 und übergebe es bei der Instanziierung von 'unterfenster'?
Wenn mir einer helfen könnte, wäre ich dankbar. Hier ist der Code:
Code: Alles auswählen
import tkinter as tk
class Unterfenster(tk.Frame):
def __init__(self,master=None):
super().__init__(master)
self.pack()
self.create_widgets()
def create_widgets(self):
self.hi_there = tk.Button(self)
self.hi_there["text"] = "Hello World\n(click me)"
self.hi_there["command"] = self.say_hi
self.hi_there.pack(side="top")
self.quit = tk.Button(self, text="QUIT", fg="red", command=top.destroy)
self.quit.pack(side="bottom")
def say_hi(self):
print("hi there, everyone!")
class Application(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.pack()
self.create_widgets()
def meldung():
print("Hello!")
def create_widgets(self):
menubar = tk.Menu(root)
filemenu = tk.Menu(menubar, tearoff=0)
filemenu.add_command(label="Öffnen", command=Application.meldung)
filemenu.add_command(label="Beenden", command=root.destroy)
menubar.add_cascade(label="Datei", menu=filemenu)
root.config(menu=menubar)
self.hi_there = tk.Button(self)
self.hi_there["text"] = "Hello World\n(click me)"
self.hi_there["command"] = self.say_hi
self.hi_there.pack(side="top")
self.quit = tk.Button(self, text="QUIT", fg="red", command=root.destroy)
self.quit.pack(side="bottom")
def say_hi(self):
print("hi there, everyone!")
top = tk.Toplevel()
unterfenster = Unterfenster(master=top)
root = tk.Tk()
app = Application(master=root)
app.mainloop()