我的 guizero 代码的背景颜色没有更新。它以灰色开始并保持灰色(颜色选项为蓝色、橙色、红色),但打印语句给出了适当的值。温度值在 GUI 中正常更新。bg_color 分配的哪一部分不正确?
from guizero import *
import random
def read_sensor():
return random.randrange(3200, 5310, 10) / 100
def read_cpu_temp():
tFile = open('/sys/class/thermal/thermal_zone0/temp')
temp = float(tFile.read())
return temp/1000
def update_label():
text.value = read_cpu_temp()
text.value = bg_color()
# recursive call
text.after(1000, update_label)
def bg_color():
print (read_cpu_temp())
if read_cpu_temp() < 45.000:
bg_color = "#00BFFF"
print ("blue")
elif 45.000 < read_cpu_temp() < 60.000:
bg_color = "#FF8C00"
print ("orange")
else:
bg_color = "#FF0000"
print ("red")
if __name__ == '__main__':
app = App(title='Core Temp', height=30, width=100, layout='grid', bg = bg_color())
title = Text(app, "Temp:", grid=[0, 0], color="white")
text = Text(app, "xx", grid=[1, 0], color="white")
text.after(1000, update_label)
app.display()