以下代码就是我现在所拥有的。我也尝试使用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()返回一个浮点值 为什么呢?
答案 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