【发布时间】:2020-04-18 08:52:56
【问题描述】:
我想创建一个小动画,其中文本出现在旧的单色终端(如屏幕)上,就好像有人在打字一样。但是,我在 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来测试它吗?可能是main运行所需的时间太短,以至于在主窗口呈现之前它已经准备好结果。尝试 5 秒,看看会发生什么。 -
@pavel 这不起作用。
sleep阻止所有渲染发生。