Бесконечный цикл в Ткинтере - PullRequest
0 голосов
/ 06 апреля 2019

Я пишу программу, которая сообщит мне, когда температура моего процессора превысит 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)





Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...