اجرای dialog box در ترد فرعی

ساخت وبلاگ
من یه برنامهء بدون GUI دارم که بعضی وقتا نیاز داره یک dialog box ساده به کاربر نشون بده.
این برنامه توی یک حلقهء بینهایت مدام در حال اجراست. وقتی یک modal dialog نمایش داده میشه، اجرای برنامه تا وقتی که dialog box بسته نشه متوقف میشه. ولی من نمیخوام اینطور بشه چون برنامه مدام باید با برنامهء دیگری در حال تبادل ارتباط باشه.
خواستم dialog box روی ترد دیگری اجرا کنم که برنامه بلاک نشه، اما ظاهرا نمیشه و مشکل داره، یعنی دفعهء اول dialog box رو نشون میده اما دفعه های بعدی به مشکل میخوره.

با این نمونه کد مثلا میتونید تست کنید:

کد:

import tkinter
import tkinter.messagebox
import threading
import time

def messageBox():
    root=tkinter.Tk()
    root.withdraw()
    tkinter.messagebox.showinfo('', 'test')
    root.destroy()

i=0
while True:
    i+=1
    threading.Thread(target=messageBox).start()
    time.sleep(5)

از Python 3.3.4 روی ویندوز XP SP3 استفاده میکنم.

چطور میشه این مشکل رو حل کرد؟

تشکر شده توسط:

برنامه نویس...
ما را در سایت برنامه نویس دنبال می کنید

برچسب : نویسنده : خنجی prog بازدید : 139 تاريخ : چهارشنبه 13 مرداد 1395 ساعت: 2:44

خبرنامه