Ich habe eine Funktion in meiner Haupt-Anwendung, die wie folgt aussieht:GTK + 3 + Python: "Loading ..." Dialog
def foo(stuff):
a_line_that_takes_a_while(stuff)
return result
Ich versuche, einen Dialog hinzufügen, bevor a_line_that_takes_a_while zu zeigen und zerstören es direkt nach dieser Zeile ausgeführt wurde.
Ich habe versucht:
def foo(stuff):
dialog = Gtk.MessageDialog(...)
dialog.show_all()
a_line_that_takes_a_while(stuff)
dialog.destroy()
return result
Aber überraschend, der Dialog nur angezeigt, wenn a_line_that_takes_a_while bereits ausgeführt wurde. Natürlich kann ich dialog.run() nicht verwenden, da dies die Hauptschleife der Anwendung blockieren würde.
Irgendwelche Ideen?
Ich antwortete kürzlich auf eine C-Version dieser gleichen Frage hier: http://StackOverflow.com/Questions/36971139/Gui-Becomes-unresponsive-after-Clicking-the-Button-using-GTK-in-C – ebassi