我正在编写一个程序,当我的CPU温度超过70级时会通知我。它在终端中工作正常,但是我想在Tkinter窗口中打开它。 Tkinter有没有办法从无限循环的每个循环中更新窗口中的值?
我是这样做的,但是它在一个循环后就停止了。 有没有一种方法可以在每次循环时都更新窗口中的值,而不必每次循环都打开新的Tkinter窗口?
from time import sleep
from gpiozero import CPUTemperature as temp
from gtts import gTTS
import os
from tkinter import *
vessel = ""
directory = '/home/pi/Desktop/Notifications'
files = 'Notifications/70.mp3'
window = Tk()
window.title("CPUの温度モニター")
def round():
CPUTemperature = temp()
CPUTemperature = CPUTemperature.temperature
return CPUTemperature
while True:
CPUTemp = round()
if CPUTemp == vessel:
continue
elif CPUTemp != vessel:
vessel = CPUTemp
lbl = Label(window, text=vessel)
lbl.grid(column=0, row=0)
window.mainloop()
print (vessel)
if vessel > 70:
path = os.path.exists(directory)
if path == False:
path = os.makedirs(directory)
if os.path.isfile(files):
os.system("mpg123 " + files)
sleep(5)
else:
tts = gTTS(text="警告。CPUの温度は70度を超えました", lang='ja')
tts.save(files)
os.system("mpg123 " + files)
sleep(5)
sleep(5)