Anfängerfrage: Wann wird der geänderte Text übernommen ?
Verfasst: Freitag 23. Dezember 2022, 18:16
Hallo,
ich arbeite gerade einen Anfängerkurs bei Youtube durch und bin da in einer Lektion auf dieses kleine Programm gestoßen:
Dieses kleine Programm erzeugt ein Fenster mit einem Label. Das Label ist zunächst leer, wird erst später mit Inhalten gefüllt. Zudem ist noch ein Button enthalten. Drückt man da drauf, erscheint "Hello World" gefolgt von einer hochlaufenden Zahl. Und das Ganze läuft in einer Endlosschleife.
Nun, das Grundprinzip habe ich ja verstanden, aber an welcher Stelle wird eigentlich der geänderte Inhalt des Parameters Text ins Fenster eingeblendet ? Wenn das nächste Mal w.pack() durchlaufen wird ?
Das hiesse doch aber auch, dass die Erzeugung des Objektes w durch die Zeile w = tkinter.Label(top,text="") doch nur 1x pro Programmstart stattfinden würde und bei jedem weiteren Durchlauf übersprungen wird,da es bereits vorhanden ist...sonst würde doch sonst der gerade in der Funktion befüllte Textparameter doch wieder geleert, noch bevor der geänderte Inhalt überhaupt angezeigt wurde, oder ?
ich arbeite gerade einen Anfängerkurs bei Youtube durch und bin da in einer Lektion auf dieses kleine Programm gestoßen:
Code: Alles auswählen
import tkinter
i = 0
def handleButton(event):
global i
i = i + 1
w['text'] = "Hello World " + str(i)
top = tkinter.Tk()
w = tkinter.Label(top, text="")
w.pack()
b = tkinter.Button(top, text="Drück mich!")
b.pack()
b.bind('<Button-1>', handleButton)
top.mainloop()
Nun, das Grundprinzip habe ich ja verstanden, aber an welcher Stelle wird eigentlich der geänderte Inhalt des Parameters Text ins Fenster eingeblendet ? Wenn das nächste Mal w.pack() durchlaufen wird ?
Das hiesse doch aber auch, dass die Erzeugung des Objektes w durch die Zeile w = tkinter.Label(top,text="") doch nur 1x pro Programmstart stattfinden würde und bei jedem weiteren Durchlauf übersprungen wird,da es bereits vorhanden ist...sonst würde doch sonst der gerade in der Funktion befüllte Textparameter doch wieder geleert, noch bevor der geänderte Inhalt überhaupt angezeigt wurde, oder ?