Я пытаюсь использовать вложенные функции в Tkinter
с .after()
в следующем коде:
from tkinter import *
a=0
def fct1() :
global a
global b
b=0
text = Label(root, text="Hey!")
text.pack()
def fct2() :
global b
text2 = Label(root, text="Yes")
text2.pack()
b+=1
if b>3 :
return
root.after(5,fct2)
fct2()
a+=1
if a>5 :
return
root.after(25,fct1)
root = Tk()
fct1()
root.mainloop()
С помощью этого кода я хочу отобразить одно «Привет!» в моем Tkinter root, затем запустите функцию fct2 , которая будет отображать 4 "Да", и затем повторите это еще 5 раз.
Но когда я запускаю код, 6 " Привет!" отображаются, как и ожидалось, но в каждом из них мы видим, что отображаемое число «Да» выглядит случайным, тогда как каждый раз оно должно быть равно 4. У кого-нибудь есть идеи, почему у меня такая проблема?