リストボックスのデータを自動的に更新したいと思います。私のコードに何が問題なの?Tkinterリストボックスのテキスト変数を更新するには
import Tkinter,time
from Tkinter import *
window=Tk()
box=Tkinter.Listbox(window,width=17,height=12,fg="black")
data=0
box.grid(row=0,column=0)
box.insert(Tkinter.END,data)
def monitor():
global data
print data
while True:
time.sleep(1)
data=data+1
box.update()
window.after(10,monitor)
window.mainloop()
何が間違っていますか? – zondo
リストボックスは常に0を表示します。 –
これは、 'box'が渡されたオブジェクトの* name *には何の注意も払わないためです。オブジェクトにのみ注意を払っています。実際には、オブジェクトの名前が「データ」であることを知る方法はありません。 'data = data + 1'と言うと、オブジェクト自体は変更されていません。あなたは 'data'を別の番号を参照させています。 'data'を再度挿入する必要があります。私はそれが 'box.delete(Tkinter.END);を意味すると思います。 box.insert(Tkinter.END、data) ' – zondo