首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我的guizero代码的背景色没有更新

我的guizero代码的背景色没有更新
EN

Stack Overflow用户
提问于 2020-09-20 06:08:40
回答 1查看 91关注 0票数 0

我的guizero代码的背景色没有更新。它从灰色开始,并保持灰色(颜色选项有蓝色、橙色、红色),但print语句给出了适当的值。临时值在GUI中正常更新。bg_color分配的哪个部分不正确?

代码语言:javascript
复制
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()
EN

回答 1

Stack Overflow用户

发布于 2021-02-26 23:40:50

我认为这是正确的方法,而且我做得很对。

代码语言:javascript
复制
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, 0], color="white")
    text.after(1000, update_label)
    app.display()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63973806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档