wxPython のサンプルコード集

ここのところ、お仕事が忙しくなってしまったので、あまり余暇時間がとれません。下手をすると夏までずっと忙しい状況になりそうです。

とはいえ、ここをあまり長期間放置するのもアレなので、適当なネタでお茶を濁しておきます。(^^)

先日、Windowsで動作するちょっとしたアプリを作る必要があり、せっかくなので、マルチプラットフォーム対応のGUIフレームワークであるwxWigets……のPythonバインディングであるwxPythonを勉強してみようと思い立ちました。

マルチプラットフォームGUIフレームワークにも色々種類がありますが、私は昔(思い返して見ると10年前でした。私も年を食ったものです orz)、WindowsMicrosoftMFCを使って趣味のプログラミングをしていたので、デザインがMFCの丸パクリと言われるwxWigetsなら苦労せずに使えるかな、という目論見があってこれに決めました。

Windows版のPythonwxPythonのインストールは、インストーラを起動して適当にボタンを押せばインストールでき、サンプル集のアプリもスタートメニューに登録されたので簡単だったのですが、Ubuntuでサンプル集を表示するのに意外と苦戦したので、ここにメモしておきます。

wxPython とサンプルをインストール

インストールはいつものごとく apt-get です。バージョンが2.4, 2.6, 2.8と3種類パッケージが準備されていましたが、ここは強気の2.8をインストールしました。

$ sudo apt-get install python-wxgtk2.8 wx2.8-doc wx2.8-examples python-wxtools 

これで実行に必要なファイルは一通りインストールされているはずです。しかし、サンプル集である wx2.8-examples パッケージはこのままでは使えません。

サンプルの展開

wx2.8-examples に含まれるReadMeファイル( /usr/share/doc/wx2.8-examples/examples/README.examples )にると、ハードディスクにインストールされたのはサンプルを圧縮したものなので、実際に実行して試してみたい場合は自分の作業ディレクトリにコピーして展開する必要があるそうです。

そして、そのためのシェルスクリプトがReadMeと同じディレクトリに置いてあります。このスクリプトを以下のように使えば、~/wxPython_example/というディレクトリが作られ、その中にサンプルを展開されます。

$  /usr/share/doc/wx2.8-examples/examples/unpack_examples.sh wxPython ~/wxPython_example/

引数に wxPython と指定しているのは、展開の対象を python のサンプルのみにするためです。これを指定しておかないと、C言語版のwxWigetsのサンプルも展開されてしまいます。

サンプルの実行

サンプルブラウザの本体は wxPython/demo.py ですので、これを実行させればOKです。シェルの上からでも良いですし、Nautilusでdemo.pyをダブルクリックしてもかまいません。

~/wxPython_example/wxPython/demo.py

あとは、表示される大量のサンプルから、自分のしたいことに近いサンプルを見つけて、動かしてみたり、ソースを眺めたりすれば、大抵のことはできるようになります。多分。

というわけで、今日はここまで。