Python3 + Threading + Gtk3 + MessageDialog - PullRequest
0 голосов
/ 03 сентября 2018

Я работаю с потоками и 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 голосов
/ 04 сентября 2018

GTK + (как и большинство инструментов) не является поточно-ориентированным. Вы можете создавать потоки, но вы можете использовать их только для передачи данных в основной поток, используемый GTK +.

См. https://wiki.gnome.org/Projects/PyGObject/Threading

...