Как вставить текст в графический интерфейс tkinter во время работы кода - PullRequest
1 голос
/ 03 апреля 2019

Привет, я пытаюсь создать графический интерфейс 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...