如何解决我的guizero代码的背景颜色没有更新
我的guizero代码的背景颜色没有更新。它以灰色开头,并保持灰色(颜色选项为蓝色,橙色,红色),但print语句给出正确的值。临时值在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,color="white")
text.after(1000,update_label)
app.display()
解决方法
我认为这是正确的方法,我做对了
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:
app.bg = "#00BFFF"
print ("blue")
elif 45.000 < read_cpu_temp() < 60.000:
app.bg = "#FF8C00"
print("orange")
else:
app.bg = "#FF0000"
print("red")
if __name__ == '__main__':
app = App(title='Core Temp',height=30,width=100,layout='grid')
title = Text(app,"Temp:",grid=[0,0],color="white")
text = Text(app,"xx",grid=[1,color="white")
text.after(1000,update_label)
app.display()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。