2012-03-04 12 views
5

GTK2ではインタプリタ(ipythonまたはプレーンなPython)でguiを "オンザフライ"で構築し、 :Gtk.main()を使わないGTK3のPythonインタプリタにウィンドウが表示されない

>>> import gtk 
>>> win = gtk.Window() 
>>> win.connect('delete-event', gtk.main_quit) 
10L 
>>> win.show_all() 

この結果、オブジェクトを追加できるウィンドウが表示されます。

Gtk3に変更されているのは、Gtk3だけのGladeを使用することがあるため、将来的であり、部分的に変更されています。 GTK3と同じことをやって、ウィンドウが表示されない:

>>> from gi.repository import Gtk 
>>> win = Gtk.Window() 
>>> win.connect('delete-event', Gtk.main_quit) 
13L 
>>> win.show_all() 

残念ながら、その最後の行の後に窓なし。私も試してみました

>>> Gtk.main() 

:何もしなかった

>>> win.show_now() 

までは表示されません。

GTK3でリアルタイムで構築する方法はありますか?私は、次のワンライナーで保留中のイベントを処理しようとした

答えて

0

おかげで、

Narnie:

>>> while Gtk.events_pending(): Gtk.main_iteration() 

と、それは同じ動作を持つように見えます。それほど便利ではありませんが、あなたはまだ通訳で仕事をすることができます。

また、Gtkアプリケーションを開発している場合は、pdb.set_traceも機能し、探している場合はコールバックをデバッグできます。

+0

素晴らしい回避策。ありがとう! – narnie

関連する問題