Tkinter: So aktualisieren Sie eine Variable auf LivePython

Python-Programme
Anonymous
 Tkinter: So aktualisieren Sie eine Variable auf Live

Post by Anonymous »

Hey, ich bin neu bei TKinter und versuche es zu verwenden, um einen Photonentheken zu erstellen, aber hier werde ich die Zeit verwenden.Time (), um die Daten ständig zu simulieren. Ich habe versucht, meinen Code zu synthetisieren, um das Problem zu finden und leicht zu reproduzieren. Mit dem Wissen, dass ich später das Panel schließen werde, um andere Prozesse durchzuführen, muss mein Code weiter laufen, nachdem ich das Fenster schließt. < /P>
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" 
.class GUI:
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>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post