我正在使用 tkinter 在 python 中创建文本冒险,因为它易于使用图形(按钮等)
我想在文本看起来像是被打出来的地方添加一种效果。
def displayNextPart():
for i in buttons:
i.destroy()
global curPart
for char in story[curPart]["Text"]:
slp(.05)
w.config(text=char)
sys.stdout.flush()
但是窗口只是卡住,直到它完成,它留给我的只是字符串的最后一个字符。
谁能帮帮我?
time.sleep()
不能与 Tkinter 应用程序一起正常工作。使用 after()
方法,如下例所示:
import tkinter as tk
root = tk.Tk()
word = 'hello'
def go(counter=1):
l.config(text=word[:counter])
if counter < len(word):
root.after(150, lambda: go(counter+1))
b = tk.Button(root, text='go', command=go)
l = tk.Label(root)
b.pack()
l.pack()
root.mainloop()
我是一名优秀的程序员,十分优秀!