我想创建一个小的动画,文本出现在一个旧的单色终端一样的屏幕上,好像有人在打字。但是,我经常遇到在GUI窗口打开后运行代码的问题。当窗口打开或根本不显示时,文本总是已经存在。任何帮助都非常感激:)
string = "Hello World this is a Test String"
import random
import time
import tkinter as tk
from tkinter import *
vid = tk.Tk()
vid.title('Terminal')
text = Text( vid, width = 100, height = 50, highlightthickness=1, bg='black', highlightbackground="black", font=('Courier', 14), fg='green')
text.pack()
def main():
for i in string:
text.insert(END, i)
time.sleep(0.2)
text.after(10, main)
vid.mainloop()
这就是我目前的想法:/
对事件驱动程序使用
sleep
通常不是一个好主意(tkinter
是事件驱动的,就像大多数GUI库一样)。在这里,动画最好基于after
方法:注意:我稍微修改了你的动画,创建了一个无限循环,在这个循环中,字符串一个字符一个字符地打印,当到达末尾时插入新行。只是为了好玩。。。你知道吗
你需要在睡觉后使用
update_idletasks()
。以下内容适合我,如果您有任何其他问题,请告诉我:相关问题 更多 >
编程相关推荐