@Noob12323

Как в tkinter задать последовательность команд при нажатии на кнопку?

Всем привет! Мне нужно, чтобы при нажатии на кнопку через 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()


Причем помимо текста потом хочу добавить картинку, работающую по тому же триггеру и сменяющуюся по такому же принципу
  • Вопрос задан
  • 19 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы