Python 3.0 tkinter диалоги из потоков - PullRequest
1 голос
/ 29 марта 2011

Я относительно новичок в 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()

1 Ответ

1 голос
/ 29 марта 2011

См. Ответ Алексея Мартелли на аналогичный вопрос .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...