Ich habe in den letzten paar Stunden versucht, eine Möglichkeit, ein Etikett mit Informationen zu aktualisieren, ohne selbst etwas eingeben.Machen Sie tkinter Etikett aktualisieren in festgelegten Zeitintervallen ohne Eingabe
Das Programm, das ich versuche zu schreiben, nimmt die CPU-Temperatur vom Raspberry Pi und zeigt es in einem Fenster an. Ich muss diese Temperatureingabe alle 5 Sekunden aktualisieren, aber alle Versuche sind fehlgeschlagen. Ich habe versucht, while-Schleifen und festgestellt, dass sie nicht innerhalb von tkinter arbeiten, und ich kann nicht denken, wie man etwas konstant ohne Eingabe ohne eine aktualisieren. Ich bin ziemlich neu in Python, also bin ich mir sicher, dass es einen Weg gibt und ich bin noch nicht darauf gestoßen. Ähnliche Fragen hier führen nicht ganz zu einer Antwort, die für mich gilt.
Hier ist mein Stück Code jetzt:
import subprocess
from tkinter import *
root = Tk()
root.title('CPU Temp')
cpuLab = Label(root, text = 'CPU Temp:',
font =('Nimbus Mono L',14,),
bg = 'black', fg = 'green').grid(row = 0, column = 0)
cpuTemp = subprocess.check_output(['/opt/vc/bin/vcgencmd', 'measure_temp'])
cpuVar = StringVar()
cpuDisplay = Label(root, textvariable = cpuVar,
font =('Nimbus Mono L',14),
bg = 'black', fg = 'green').grid(row = 0, column = 1)
cpuVar.set(cpuTemp[5:11])
root.mainloop()
Dies funktioniert perfekt für die Temperatur zeigt, hat es nur, um erneut ausgeführt werden, zu aktualisieren.
die GUI in eine Klasse zu setzen ist schön, aber nicht unbedingt notwendig. –
Ah, Ok, das war mir nicht bewusst .. – frankenapps
vielen Dank! Ich denke, dass andere Post während der Suche aufgrund der Benennung nicht gesehen, aber kombiniert mit Ihrer Antwort sieht aus wie es meine Frage perfekt beantwortet. Ich habe "nachher" nicht bemerkt, als ich durch die Dokumentation von tkinter geschaut habe, aber das ist großartig, danke nochmal! –