【发布时间】:2015-01-28 20:00:18
【问题描述】:
我正在尝试制作一个小应用程序,它可以逐个显示列表中的单词。以下是我的代码:
from Tkinter import *
master = Tk()
master.title('Serial Position Effect')
myArray = ['book','chair','door']
def cycle(myArray, k):
t.set(myArray[k])
t = StringVar()
w = Label(master, height=3, width=15, font=('Helvetica', 118), textvariable = t)
for n in range(0,3):
cycle(myArray, n)
w.pack()
master.mainloop()
我原以为标签会显示书、椅子和门,但它只显示窗户上的门。我试图修改 for 循环,如:
for n in range(0,3):
for x in range(0,10000):
cycle(myArray, n)
因为我认为问题在于程序循环遍历单词的速度太快了。但是使用这个修改后的代码,应用程序再次在短暂的延迟后才显示门。 (延迟可能是因为它正在计数到 10000。)
最后,我采用了一些不同的方法——效率稍低,但我认为通过这样的编码,我可以在我的原始代码中发现问题:
from Tkinter import *
master = Tk()
master.title('Serial Position Effect')
#myArray = ['book','chair','door']
#def cycle(myArray, k):
# t.set(myArray[k])
t = StringVar()
w = Label(master, height=3, width=15, font=('Helvetica', 118), textvariable = t)
for n in range(0,10000)
t.set('book')
for n in range(0,10000)
t.set('chair')
for n in range(0,10000)
t.set('door')
w.pack()
master.mainloop()
同样,窗口只显示门。
我是使用 Python 和 Tkinter 进行 GUI 编程的新手。如果有人能帮我解决这个问题,我将不胜感激。
谢谢(=
【问题讨论】:
标签: python user-interface tkinter label