RSS

PythonでGTK+

普通のGTK+で書いたプログラムをPythonに移植してみた。まあ、割と素直。ほぼ直感通りでgtk+の関数とPythonのインスタンスメソッドのマップがされていた。まだGTK+2版でしかないのでGTK+3のソースからGTK+2へのやり方に戻す必要があった。本当に必要なのはdrawからexpose-eventに変わったところぐらい。

CairoContextをひっぱりだすところがちょっとまよったがexpose_eventに渡されるwidgetからwindowを取り出してcairo_create()でよかった。その流れが最初わからなかった。あとKeyEventの処理。gtk.gdk.keyval_name()を使ったのだがそれでよかったのかな? GDK_KEY_a とかないよなあと思ったでの…。

クラスの備わった言語で書いてみましたという例。

python at master from takaki/gsvolley - GitHub