Привет, я пытаюсь создать графический интерфейс Python, используя пакет tkinter. Все работает отлично, но я хочу вставить или напечатать текст во время выполнения кода. Мой код - процесс небольшой длины, я не включил весь код, чтобы выполнить его, мне нужна некоторая информация об обновлении в области текста, чтобы пользователь знал, что кодирование выполняется и получает некоторую информацию из Интернета.
Не могли бы вы проверить этот код? При этом кодовый номер будет вставлен в графический интерфейс Tkinter и будет постоянно увеличиваться. Но я хочу вставить текст из данного списка. Как я могу вставить текст из списка. Пожалуйста, помогите.
from tkinter import *
import threading
import queue
from time import sleep
import random
import tkinter as tk
list1 = ['Text 1', 'Text 2','Text 3','Text 4','Text 5','Text 6','Text 7',
'Text 8','Text 9','Text 10','Text 11']
class Thread_0(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
def run(self):
count = 0
while True:
count+=1
hmi.thread_0_update(count)
sleep(random.random()/100)
class HMI:
def __init__(self):
self.master= tk.Tk()
self.master.geometry('200x200+1+1')
f=tk.Frame(self.master)
f.pack()
self.l0=tk.Label(f)
self.l0.pack()
self.q0=queue.Queue()
self.master.bind("<<Thread_0_Label_Update>>",self.thread_0_update_e)
def start(self):
self.master.mainloop()
self.master.destroy()
def thread_0_update(self,val):
self.q0.put(val)
self.master.event_generate('<<Thread_0_Label_Update>>',when='tail')
def thread_0_update_e(self,e):
while self.q0.qsize():
try:
val=self.q0.get()
self.l0.config(text=str(val))
# self.l0.config(text=val)
except queue.Empty:
pass
##########################
if __name__=='__main__':
hmi=HMI()
t0=Thread_0()
t0.start()
hmi.start()