Python3 +线程+ Gtk3 + MessageDialog

时间:2018-09-03 12:52:16

标签: python python-3.x multithreading gtk gtk3

我正在与此线程一起使用线程和Gtk.MessageDialog:

class DialogueAttente(Thread):
def __init__(self):
    Thread.__init__(self)
    self.message=Gtk.MessageDialog(None,Gtk.DialogFlags.MODAL,Gtk.MessageType.INFO,Gtk.ButtonsType.NONE,"Diagnostic en cours")

def run(self):
    self.message.run()

def join(self):
    self.message.destroy()

第一次运行时效果很好。但是当第二次(或第三次等等)被调用时,MesageDialog出现,但是主体是透明的,没有任何消息。

1 个答案:

答案 0 :(得分:0)

GTK +(与大多数工具包一样)不是线程安全的。您可以创建线程,但只能使用它们将数据传递给GTK +使用的主线程。

请参见https://wiki.gnome.org/Projects/PyGObject/Threading