Übergebener Parameter?
Verfasst: Donnerstag 19. Juli 2018, 17:44
Ich verwende das Buch "Python 3 - Das umfassende Handbuch" und habe ein folgendes Codebeispiel, wo ich eine Sache nicht verstehe:
import tkinter
class MyApp(tkinter.Frame):
def __init__(self, master):
super().__init__(master)
self.pack()
self.list = ["Linux", "macOS", "Windows"]
self.var = tkinter.StringVar()
self.var.set("Linux")
self.op = tkinter.OptionMenu(self, self.var, *self.list, command=self.handler)
self.op.pack()
def handler(self, text):
print(text)
root = tkinter.Tk()
app = MyApp(root)
app.mainloop()
Wenn ich hier das OptionMenu erstelle, gebe ich als command die Methode 'self.handler' an. 'self.handler' benötigt einen Parameter 'text'. Ich verstehe nicht ganz, wie ich den Parameter übergebe. Geprinted wird entweder 'Linux', 'macOS' oder 'Windows', kommt darauf an, welche Option im OptionMenu ausgewählt ist. Ich verstehe nicht genau, wieso. Kann mir jemand helfen?
Vielen Dank
import tkinter
class MyApp(tkinter.Frame):
def __init__(self, master):
super().__init__(master)
self.pack()
self.list = ["Linux", "macOS", "Windows"]
self.var = tkinter.StringVar()
self.var.set("Linux")
self.op = tkinter.OptionMenu(self, self.var, *self.list, command=self.handler)
self.op.pack()
def handler(self, text):
print(text)
root = tkinter.Tk()
app = MyApp(root)
app.mainloop()
Wenn ich hier das OptionMenu erstelle, gebe ich als command die Methode 'self.handler' an. 'self.handler' benötigt einen Parameter 'text'. Ich verstehe nicht ganz, wie ich den Parameter übergebe. Geprinted wird entweder 'Linux', 'macOS' oder 'Windows', kommt darauf an, welche Option im OptionMenu ausgewählt ist. Ich verstehe nicht genau, wieso. Kann mir jemand helfen?
Vielen Dank