tkinter:动态标签,用于显示传感器的值

时间:2015-04-17 11:28:08

标签: python dynamic tkinter label

以下代码就是我现在所拥有的。我也尝试使用interweb中的给定解决方案,例如Link1

但是对于像我这样的简单函数来说这似乎太复杂了,我希望有更多“优雅”的代码。 这就是我所拥有的:

.
.
box = Tk()
box.title('TCS3490')
box.geometry('200x180')

labelLux = Label(master=box, text='Lux=')
labelLux.place(x=5, y=5, width=60, height=30)

labelLuxValue = Label(master=box, text=str(dev.calcLux()))
labelLuxValue.place(x=50, y=50, width=100, height=30)
labelLuxValue.after(10, labelLuxValue.config(text = str(dev.calcLux()))  

box.mainloop()

它会在该标签中放置一次值,但不会再次放置。 dev.calcLux()返回一个浮点值 为什么呢?

1 个答案:

答案 0 :(得分:1)

你的代码中的问题是后续行只执行一次,你需要一个递归函数:

def update():
    labelLuxValue.config(text = str(dev.calcLux())
    labelLuxValue.after(100, update)

update() 

参见例如: https://mail.python.org/pipermail/tkinter-discuss/2006-April/000704.html