gpt4 book ai didi

python - 如何更新 Tkinter 列表框文本变量

转载 作者:行者123 更新时间:2023-12-01 04:03:14 25 4
gpt4 key购买 nike

我想自动更新列表框数据。我的代码有什么问题吗?

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()

最佳答案

首先请与您的代码保持一致。

  • 对一个库使用一种导入
import Tkinter as tk

其次,如果可能的话,应省略 while True 结构。您在主例程中使用了 window.after,为什么不在监视器函数中也这样做呢?

def monitor():
global data


# do the work that needs to be done...

# after uses ms, to calling monitor
# after 1000 ms is the same as calling
# sleep(1) in your while true construct
window.after(1000, monitor)

最后,zodo 是对的,您需要通过以下方式更新列表框数据:删除/插入组合。

import Tkinter as tk
window = tk.Tk()
box = tk.Listbox(window, width=17, height=12, fg="black")
data = 0
box.grid(row=0, column=0)
box.insert(tk.END, data)

def monitor():
global data

print data

data = data + 1
# Update the listbox
# 1. clear all
box.delete(0, tk.END)
# 2. insert new data
box.insert(tk.END, data)
window.after(1000, monitor)

window.after(10, monitor)
window.mainloop()

关于python - 如何更新 Tkinter 列表框文本变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36129495/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com