PyGTK + Glade によるGUI開発

自家製ツールに素早くGUIをつけたい, ということでPyGTKを利用した.
GUIを作成するライブラリはtkinterを代表として色々ありそうだったが,

という理由でPyGTKを利用することにした.

PyGTKを利用するには, 公式チュートリアルを4章ぐらいまで読んで, 後は使いたいWidgetの周りを読むなり, 公式リファレンスを読むなりすればよい.

結構簡単に使えて便利だった.

Gladeを使う

GUIの設計を直接ソースコードでやるのは現代ではあり得ない, ということでGUI上での設計ツールGladeを利用した. こちらは残念ながら, 公式チュートリアルがブログ上に構築されて非常に読みづらい. しかも情報が古かったりPythonのことが書いてなかったりでかなり残念な出来. 適当な日本語のページ(こことか)を読んで始めた方がマシな気がする.

注意した方がいいのが, Ubuntuのaptなどで入るGlade3系は, PyGTKと協調動作させることが5/14現在出来無い. Glade3系はGTK+3系を想定しているため, GTK+2系に存在しないBoxなどを作ろうとすると抽象クラスBoxが作れませんー的なエラーが出る. なお, PyGTKで利用しているGTK+のバージョンはimport gtk;print gtk.gtk_versionとやれば手に入れられる. この問題を回避するためには最新のgladeではなくglade-gtk2(aptにある)を使った方がよい.

しかし, このソフト, なんでこう頻繁に落ちるんだろう・・・. こちらの環境が悪いのだろうか. 後, Gladeで新しいWidgetを使う前にはTutorialを読んだ方が無難. というか読まないとほとんど使えない.
Scale(スライドバー)にはAdjustmentが必要とか, ComboBoxにCellRendererTextが必要とか.

ちなみにComboBoxとかの中身の設定は, Gladeでは無くソースコードでやれという主義らしい.

matplotlib(pylab)との協調動作

数値計算とかやってたらグラフを書きたくなりますよねーということで, matplotlibとPyGTKを協調動作させた. こちらの親切なページを読めば大体わかるのでそんな感じで