はじめての wxPython
おサイフケータイやSuica、Edyが載っている FeliCa のカードID(IDm)を使用して、出席管理をするツールを作りました。
PCでアプリケーションが立ち上がっていて、FeliCa をタッチすると事前登録したユーザ名とか番号が登録されて「出席」となるといったものです。
このツールを作るために、はじめて python で GUI アプリケーションを組んでみました。
python で GUI を作るためにはいろいろな手段がありますが、今回は wxPython を選択してみました。
# pythonの開発環境その10 GUIライブラリ のアンケートでも「GUI開発はしない」に次いで人気だし :)
wxPython 自体のインストールは Windows 用のインストーラもあるので簡単。 サンプルとかを動かして「へーこんなのが作れるのかぁー」と感心。
で、実際に作ろうという段階になって手が止まります。どっから手を付けていいのやら...といった状態。
すると wxWidgets でクロスプラットフォーム GUIアプリを作ろう というページで wxGlade というツールが紹介されていました。
この wxGlade は、画面上で GUI 部品を配置すると wxPython 用のコードを生成してくれるというとても便利なツールです。
左上の画像のように、右下のパネルに左上にある部品を配置すると、画面ができていきます。左下のウィンドウはかく部品の属性(色、フォント等々)などをせっていする画面。右上のウィンドウは現在配置されている部品の構造です。
この状態でコードを生成して実行すると、そのまま画面が表示されるんです。すごいーー。
あとは例えば FeliCa の ID が読み込まれたら、画面に表示しつつログとして出力するとか、そんな動作を書けば GUI アプリケーションの出来上がりです。
最初、フレームの上に直接ラベルとかの部品は置けなくて、 BoxSizer とか GridSizer という部品の配置に関する部品を置かないといけないっていうのに気づかなくてもやもやしてましたが、なんとなく雰囲気がつかめるとさくさくいけていい感じです。 (細かい配置の調整とかをはじめるとハマりそうな感じはしますが)
今まで GUI のあるアプリケーションってほっとんど作ったこと無かったんです。でも、この手軽さだったら、基本的な処理に GUI の皮をかぶせてって感じで作るのは全然アリだなぁと感じました。
ちなみに、wxPython でどの部品にどんなメソッドがあるのかとかは wxPython 2.8.7.1 の API のページ を参照しました。
そして、もう一つのはじめてに続く。
- カテゴリ
-
python
-
- ¦
- 固定リンク
- ¦
- コメント (0)
- ¦
- トラックバック (0)
- トラックバック用URL:
- http://takanory.net/takalog/875/tbping