Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 26, 2017 07:39:22

Vilgelm
Зарегистрирован: 2017-10-04
Сообщения: 7
Репутация: +  -1  -
Профиль   Отправить e-mail  

Как сделать анимацию текста через canvas в Python Tkinter?

Мне нужно сделать анимацию теста 3… 2… 1… в Tkinter Python через canvas
Примерно вот такую:
Пример

Отредактировано Vilgelm (Ноя. 26, 2017 07:39:49)

Офлайн

#2 Ноя. 26, 2017 17:08:12

DamMercul
Зарегистрирован: 2017-11-26
Сообщения: 325
Репутация: +  13  -
Профиль   Отправить e-mail  

Как сделать анимацию текста через canvas в Python Tkinter?

 #coding=utf-8
from tkinter import *
import time
root = Tk()
root.title("Let's smile!")
countdown = 4
txt = "Smile at "
bg = Label(master=root, bg="black", fg="white", font="Arial 70", text=txt + str(countdown))
bg.pack()
def starting(ev):
    global txt, countdown
    if ev == "Enter":
        while countdown != 0:
            time.sleep(0.5)
            countdown -= 1
            bg["text"] = txt + str(countdown)
            bg.update()
            time.sleep(1)
        bg["text"] = "Done!"
root.bind("Space", starting(ev="Enter"))
root.mainloop()

В бинде для root я специально поставил функцию с вызовом, хотя для получения event'а надо без скобок. Я так сделал чтобы отчет начался сразу. Если надо, чтобы вместе с нажатием Enter начиналось, то:
 root.bind("Space", starting(ev="Enter"))
замени на:
 root.bind("<KeyPress>", starting)





____________________________________________________

 # Life loop
while alive:
    if (fun > boredom) and money:
        pass_day(fun, boredom, money)
        continue
    else: break

Отредактировано DamMercul (Ноя. 26, 2017 17:10:49)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version