Всем привет! Мне нужно, чтобы при нажатии на кнопку через Tkinter происходило последовательное изменение одного и того же объекта с некоторыми паузами (в примере нужно, чтобы в окне при нажатии постепенно добавлялось многоточие у label). Подход в лоб не сработал, при нажатии сначала обрабатывается вся очередность действий, а потом сразу появляется итоговый текст:
from tkinter import *
from time import *
w = Tk()
def click():
a=0
while a < 1:
lbl.configure(text = 'Ожидание')
sleep(0.3)
lbl.configure(text='Ожидание.')
sleep(0.3)
lbl.configure(text='Ожидание..')
sleep(0.3)
lbl.configure(text='Ожидание...')
sleep(0.3)
a += 0.5
lbl = Label(text = '')
lbl.pack()
btn = Button(text='Жмяк', command= click)
btn.pack()
w.mainloop()
Попытка вывести цикл из функции с помощью глобальной переменной тоже ни к чему не приводит:
from tkinter import *
from time import *
w = Tk()
a=1
def click():
global a
a=0
while a < 1:
lbl.configure(text = 'Ожидание')
sleep(0.3)
lbl.configure(text='Ожидание.')
sleep(0.3)
lbl.configure(text='Ожидание..')
sleep(0.3)
lbl.configure(text='Ожидание...')
sleep(0.3)
a += 0.5
lbl = Label(text = '')
lbl.pack()
btn = Button(text='Жмяк', command= click)
btn.pack()
w.mainloop()
Причем помимо текста потом хочу добавить картинку, работающую по тому же триггеру и сменяющуюся по такому же принципу