Tkinter中的无限循环

时间:2019-04-06 07:38:23

标签: python loops tkinter

我正在编写一个程序,当我的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)





0 个答案:

没有答案