Python Threading Tkinter: Почему второй запуск потока не работает должным образом? - PullRequest
1 голос
/ 25 сентября 2019

Я пытаюсь узнать, как разместить второе вспомогательное окно для размещения некоторых данных, пока я работаю в терминале.Частично это включает периодическое изменение содержимого окна, и я хочу, чтобы второе окно не мешало основному процессу.Поэтому я надеюсь, что смогу запустить текст tkinter в виде потока.

Ниже то, что у меня есть в настоящее время.При первом вызове потока запуска появляется текстовое поле tkinter, и после его закрытия поток присоединяется.При втором запуске окно не создается, и вы видите, что «После запуска» никогда не вызывается.Кто-нибудь знает, что я делаю не так?Спасибо!

>>> import threading
>>> import tkinter as tk
>>> def build_textbox():
    root = tk.Tk()
    T= tk.Text(root, height=100, width=100)
    T.pack()
    T.insert(tk.END, "Hello World")
    tk.mainloop()


>>> def launch_thread():
    print("Function called")
    thread = threading.Thread(target=build_textbox)
    print("Thread created")
    thread.start()
    print("After start")
    thread.join()
    print("Success")


>>> launch_thread()
Function called
Thread created
After start
Success
>>> launch_thread()
Function called
Thread created
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...