Hier ist mein Code: < /p>
Code: Select all
import numpy as np
import matplotlib.pyplot as plt
import tkinter as tk
import time
class GUI:
def __init__(self, master : tk.Tk, string : str):
self.master = master
self.string = time.time()
master.title('A simple window')
self.label = tk.Label(master, text=self.string)
self.label.pack()
def update_text(self, string):
self.string = time.time()
self.label.config(text=self.string)
root=tk.Tk()
my_gui = GUI(root,"HOLA")
while 1:
my_gui.update_text(time.time())
my_gui.master.update_idletasks()
my_gui.master.update()
root.mainloop()
< /code>
Der Code funktioniert meiner Meinung nach sehr gut. Aber wenn ich das Panel schließe, erhalte ich den Fehler tclerror: Ungültiger Befehlsname ".! Label"
def __init__(self, master : tk.Tk, value):
self.master = master
# self.string = time.time()
self.string=tk.StringVar()
self.string.set(value) #The textvariable already updates the label automatically when the StringVar changes.
master.title("A simple window")
self.label = tk.Label(master, textvariable=self.string)
self.label.pack()
self.label.after(1, self.update_text)
def update_text(self):
self.string.set(self.string)
self.label.after(1, self.update_text)
root=tk.Tk()
my_gui = GUI(root,time.time())
root.mainloop()
< /code>
Jetzt erhalte ich keinen Fehler im Protokoll, aber das Panel aktualisiert nicht mehr und zeigt nur "py_var". Ich habe auch nicht mehr meine unendliche Schleife, aus der ich eine aktualisierte Zeit bekomme. /> Danke < /p>