私はこのようになります私の主な用途での機能を持っています。GTK + 3 + Pythonの:「ロード...」ダイアログ
def foo(stuff):
a_line_that_takes_a_while(stuff)
return result
私はa_line_that_takes_a_while前に表示し、破壊するためにダイアログを追加しようとしていますその行の直後に実行されました。
私が試してみた:
def foo(stuff):
dialog = Gtk.MessageDialog(...)
dialog.show_all()
a_line_that_takes_a_while(stuff)
dialog.destroy()
return result
をしかしa_line_that_takes_a_whileがすでに実行されたとき、驚くほど、ダイアログだけ表示されます。もちろん、それは私のアプリケーションのメインループをブロックするので、dialog.run()を使用することはできません。
アイデア?
私は最近、この同じ質問のCバージョンに回答しました:http://stackoverflow.com/questions/36971139/gui-becomes-unresponsive-after-clicking-the-button-using-gtk-in-c – ebassi