Я разрабатываю графический интерфейс с Python Tkinter.Поскольку я использую многопоточность, данные из одного рабочего потока должны быть доступны через очередь.У меня есть метод для разработки графического интерфейса и другой метод для обработки входящих данных.Я хочу отобразить эти входящие данные в графическом интерфейсе на этикетке.Я был в состоянии распечатать данные. Но как назначить эти данные, используя «textvariable» и StringVar.??
class GuiPart:
def __init__(self, master, queue, endCommand):
self.queue = queue
# Set up the GUI
console = tkinter.Button(master, text='Done', command=endCommand)
console.pack()
self.output= ''
output = tkinter.StringVar()
# I want to set this output with incoming data and assign to textvaribale.
# incoming data is in the next method processIncoming
##---output.set(1)testing
output_1_label = tkinter.Label(master, textvariable= output, height=2, width=12)
output_1_label.pack()
# Add more GUI stuff here
def processIncoming(self):
"""
Handle all the messages currently in the queue (if any).
"""
self.output.set(1)
while self.queue.qsize():
try:
msg = self.queue.get(0)
# As a test, I simply print it
print (msg)
#here i want to assign it to output variable.. How?
#self.output.set(msg) ???
except queue.Empty:
pass