gpt4 book ai didi

python - Tkinter:窗口打不开

转载 作者:太空宇宙 更新时间:2023-11-04 01:07:10 27 4
gpt4 key购买 nike

那是我的代码,子函数被执行,但它没有进入 mainloop()。如果我注释掉“update_Lux(labelLuxValue)”,窗口就会出现。我不明白为什么:(

from Tkinter import *

def update_Lux(label):
label.config(text = str(dev.calcLux()))
label.after(100, update_Lux(label))

def update_CT():
labelCTValue.config(text = str(dev.calcCT()))
labelCTValue.after(100, update_CT())

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

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

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

labelLuxValue = Label(master=box)
labelLuxValue.place(x=50, y=5, width=100, height=30)

labelCTValue = Label(master=box)
labelCTValue.place(x=50, y=30, width=100, height=30)

update_Lux(labelLuxValue)

box.mainloop()

最佳答案

update_Luxupdate_CT 这两个方法中有无限循环。

这一行

label.after(100, update_Lux(label))

应该是

label.after(100, lambda: update_Lux(label))

label.after(100, update_Lux, label)

否则,您不是将 update_Lux 函数传递给 after,而是传递 update_Lux(label)结果 ...当调用该方法时,它会再次尝试将结果传递给 after,依此类推。

关于python - Tkinter:窗口打不开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29770133/

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