我有thread1。和一个主GUI线程。我试图在GUI线程上更改标签,形成thread1。我将线程上的标签变量作为参数传递。但是我收到以下错误:
UnpickleableError:无法腌制对象
如何更改主GUI Thread / Class
之外的GUI元素class MyFirstGUI:
communicationQueue=Queue()
def __init__(self, master):
thisLabel = Label(master, text="Test")
thisLabel.pack()
tempThread=testThread(thisLabel)
tempThread.start()
class testThread(Thread):
def __init__(self, label):
label["text"]="something"
答案 0 :(得分:0)
import tkinter as tk
import threading, random, time
class MyFirstGUI:
def __init__(self, master):
self.label = tk.Label(master, text = "Test")
self.label.pack()
def update(self):
while True:
self.label["text"] = random.randint(1, 1000)
time.sleep(1)
root = tk.Tk()
GUI = MyFirstGUI(root)
loop = threading.Thread(target = GUI.update).start()
root.mainloop()
我认为这就是你所要求的。