Ich möchte ein Programm erstellen, das für immer läuft und alle 10s seine Informationen aktualisiert.Erstellen eines aktualisierbaren tkinter-Fensters ohne Schließen
Die beste Lösung, die ich bekam, war:
while True:
Gui= GUI()
Gui.after(2000, lambda : Gui.destroy())
Gui.mainloop()
Aber das führte in dem Fenster zu schließen und schrecklichen Effekt. Hier ist mein Code: Ich möchte die Seite aktualisieren, wenn die JSON-Datei geändert wird und das Fenster nicht geschlossen werden soll.
from tkinter import *
import json
import time
def openfile():
data = []
d={}
return_listas = []
with open('test.json', 'r') as f:
for line in f:
data.append(json.loads(line))
for item in data:
d.update(item)
f.close()
return d
class GUI(Tk):
def __init__(self):
self.tk = Tk()
self.tk.wm_state('zoomed')
self.label = {}
self.topFrame = Frame(self.tk)
self.topFrame.pack(side=TOP,fill=Y)
self.task()
def task(self):
i = 0
list = openfile()
for ele in list:
if list[ele]=="true":
lb = Label(self.topFrame, text=ele+"\n", fg="green",font=("Helvetica", 24))
if list[ele]=="false":
lb = Label(self.topFrame, text=ele+"\n", fg="red",font=("Helvetica", 24))
lb.pack(fill=X)
self.label[ele] = lb
i += 1
UPDATE ich jetzt Probleme haben, wo ich nicht aktualisierbaren Informationen halten kann, entweder es stapelt sich oder zeigen gar nicht
dank es funktionierte Ich brauche nur einen Weg, um Informationen zu halten erfrischend schön und nicht darauf stapelt Selbst – Sande