で Gtk+ 等のバージョン振り分け方法を今頃知った。
Get GTK+ theme colors with python and GObject introspection – Stack Overflow
とにかく gi.repository は(我が fedora は 64bit)
/usr/lib64/girepository-1.0
というディレクトリにある *.typelib というファイル群である。
Ubuntu 11.04 デフォルトには Gtk-3.0.typelib は無い。
Gtk+3.0 自体が無いのだから当然だが、最新なのに古臭さを感じるよ。
pygobject – Python bindings GLib and GObject
この demos にあるサンプルは GtkDrawingArea の draw シグナルを使っているが…
Gtk+ 2 になる Ubuntu とかじゃ例外になるはずなんだがいいのかな。
1 2 3 | import gi gi.require_version( 'Gtk' , '2.0' ) from gi.repository import Gtk |
とやれば Fedora 15 でも Gtk2 になる。
そんなことする人いないだろうけど Ubuntu 11.04 対応を Fedora 15 から確認なんかに使えるな。
Gtk2 を使うなら枯れた PyGtk のほうが楽だもの、サンプルコードはゴロゴロあるし。
1 2 3 4 5 6 7 | import sys import gi try : gi.require_version( "Gtk" , "3.0" ) except : print "This Program is GTK+ 3.0 or later." sys.exit() |
Gtk+ 3 専用の場合はこうするのが賢明かな。