Я относительно новичок в Python и особенно новичок в tkinter. В следующем примере кода диалоговое окно работает нормально при непосредственном создании (левая кнопка), но приложение перестает отвечать на запросы, если диалог создается из потока (правая кнопка). В чем проблема? Могут ли потоки запускать диалоги? Если да, то как?
from tkinter import *
from tkinter import ttk
import threading
count = 0
def makeDialog():
global count
count = count + 1;
messagebox.showinfo('Click Counter','Click #{0}'.format(count))
def makeThread():
threading.Thread(target=makeDialog).start()
root = Tk()
root.title("Dialogs")
mainframe = ttk.Frame(root)
mainframe.grid(column=0, row=0)
mainframe.columnconfigure(0, weight=1)
mainframe.rowconfigure(0, weight=1)
button1 = ttk.Button(mainframe, text="Dialog", command=makeDialog)
button1.grid(row=1, column=1)
button2 = ttk.Button(mainframe, text="Thread Dialog", command=makeThread)
button2.grid(row=1, column=2)
root.mainloop()