嗨我試圖讓tkinter中的標籤顯示每個項目,因爲它通過一個列表循環。一旦循環完成,我的代碼只顯示標籤中的最後一個元素。殼牌工作正常。由於蟒蛇Tkinter綁定標籤循環事件
from Tkinter import*
import tkMessageBox
import time
top = Tk()
top.geometry("500x500+100+200")
w =[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,1620]
def bello():
for pp in w :
print(pp)
myLabel = Label(top, text=pp).grid(row=6, column=0, sticky='e')
time.sleep(1)
B1 = Button(top, text = "Say Hello", command = bello)
B1.place(x=50, y=50)
top.mainloop()
爲什麼你每次'彼此頂部使得16個新標籤bello'被稱爲?只需製作1個標籤,並在'bello'中使用新文本進行更新。順便說一下,在Tkinter程序中使用'time.sleep'並不是一個好主意,請看'widget.after'方法。此外,'.grid'方法返回'None',所以'myLabel = Label(top,text = pp).grid(row = 6,column = 0,sticky ='e')'將myLabel設置爲None '。 –