2024-10-01 09:41:18 发布
网友
所以我知道在python窗口中可以使用这个。。在
for char in introstring: sleep(0.2) sys.stdout.write(char) sys.stdout.flush()
它将在窗口中以0.2的速度逐字显示文本
我怎样才能把它转换成Tkinter窗口?例如,我有文本:
有没有办法得到同样的动画,但在Tkinter图形用户界面,我已经设置了?我听说了一些关于“后命令”的事,但我似乎找不到它如何适用于此。在
下面是一个非常简单的示例,它逐字符地将文本打印到画布上,字符之间的延迟为500毫秒。在
import Tkinter as tk root = tk.Tk() canvas = tk.Canvas(root) canvas.pack() canvas_text = canvas.create_text(10, 10, text='', anchor=tk.NW) test_string = "This is a test" #Time delay between chars, in milliseconds delta = 500 delay = 0 for i in range(len(test_string) + 1): s = test_string[:i] update_text = lambda s=s: canvas.itemconfigure(canvas_text, text=s) canvas.after(delay, update_text) delay += delta root.mainloop()
这段代码已经在python2.6上进行了测试。要在python3上运行它,需要将import语句更改为import tkinter as tk
import
import tkinter as tk
下面是一个更复杂的示例,它显示输入到条目小部件中的文本。当在输入小部件中按下Enter时,将显示文本。在
下面是一个非常简单的示例,它逐字符地将文本打印到画布上,字符之间的延迟为500毫秒。在
这段代码已经在python2.6上进行了测试。要在python3上运行它,需要将
import
语句更改为import tkinter as tk
下面是一个更复杂的示例,它显示输入到条目小部件中的文本。当在输入小部件中按下Enter时,将显示文本。在
^{pr2}$相关问题 更多 >
编程相关推荐