5

GTK2 では、インタープリター (ipython またはプレーン python) で「オンザフライ」で GUI を構築し、次のようにリアルタイムで変更を確認することを楽しみました。

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

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

Gtk3 に変更する理由の 1 つは、将来のことであり、現在は 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 でリアルタイムにビルドする方法はありますか?

ありがとう、

ナルニー

4

1 に答える 1

0

次のワンライナーで保留中のイベントを処理しようとしました:

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

そして、それは同じ動作をしているように見えます。それほど便利ではありませんが、インタープリターでいくつかの作業を行うことができます。

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

于 2012-03-04T08:55:55.113 に答える