2016-01-22 199 views
0

是否有可能以任何方式在Tkinter或Python中进行一般的文本动画? (虽然该程序基于Tkinter)Tkinter文字动画?

例如,也许文字的字符出现一个接一个有点像你输入它非常快。有没有办法做到这一点?

非常感谢。

+1

是的,这是可能的。使用'root.after'重复运行在Label上改变文本的函数。 – furas

回答

2

示例 - 显示标签上的当前时间。

after()运行update_time 1s后和update_time使用after()在1s后再次运行。这种方式update_time被多次调用,它可以多次更改标签。

import tkinter as tk # Python 3.x 
import time 

# function which changes time on Label 
def update_time(): 
    # change text on Label 
    lbl['text'] = time.strftime('Current time: %H:%M:%S') 

    # run `update_time` again after 1000ms (1s) 
    root.after(1000, update_time) # function name without() 


# create window 
root = tk.Tk() 

# create label for current time 
lbl = tk.Label(root, text='Current time: 00:00:00') 
lbl.pack() 

# run `update_time` first time after 1000ms (1s) 
root.after(1000, update_time) # function name without() 
#update_time() # or run first time immediately 

# "start the engine" 
root.mainloop()