我试图制作一个打印到可滚动文本框的程序。唯一的问题是我希望角色之间有延迟。我已经看过它使用print方法但是当我尝试用文本框替换它并插入它时什么都不做。这是使用print方法的代码。
from time import sleep
import sys
output = 'Hi... I just wanted to know if you like steak?'
for char in output:
sys.stdout.write ('%s' % char)
sleep (0.1)
答案 0 :(得分:0)
Tkinter小部件有一个名为after
的方法,您可以使用该方法在将来运行命令。您可以设置一个插入一个字母的函数,然后在一天后再次调用自身。
我不知道你的可滚动文本框是什么意思"因为tkinter没有"文本框"小部件。有一行Entry
窗口小部件和多行Text
窗口小部件,两者都是可滚动的。以下是使用Entry
小部件的示例:
import Tkinter as tk
def insert_slow(widget, string):
if len(string) > 0:
widget.insert("end", string[0])
widget.xview("end")
if len(string) > 1:
widget.after(100, insert_slow, widget, string[1:])
root = tk.Tk()
entry = tk.Entry()
entry.pack()
insert_slow(entry, "Hi... I just wanted to know if you like steak?")
root.mainloop()