ITで遊ぶ

wxPython (PythonのGUI)

ネットで記事を書いているプログラマーっておもしろいもので、ちょっと難しいと知らんぷりをする。

たとえば、Visual Basicが全盛のころは盛んにGUIなどについて書きまくっていた人が多いが、PythonでGUIについて書いている人はごく少数だ。

とりあえずなんとかするならば、EasyGui(私の翻訳あり)でも考えるには値する。

でも本格的なGUIが欲しいならばwxPythonが結構メジャーなのだと思う。

こういうモダンなGUIはウィンドウのリサイズに対応するために、レイアウトマネージャを使うことが多い。

JavaのSwingもそういうものがある。

ところがレイアウトマネージャの理解はどれも簡単ではないようだ。(いや、簡単なのかもしれません。だからあちこちでこの考え方が採用されているのでしょう)

ほとんどの人がPythonのGUIについては口をつぐむ。

必要があってwxPythonを調べたが、コードだけでウィンドウ全体のイメージをもつことは難しいと思う。

FrameというWindowがあってPanelをはりつけ(コード上ではaddし)、レイアウトマネージャーのsizerをはりつけ、sizerのパーティションに各GUIパーツをはりつけていき、イベントに対応するコードを書く。

これ、頭の中でイメージできている人はかなりのものだと思います。

まぁ、wxPythonそのものはいつものPython-izmが教えてくださるのですが。

そこで救世主がwxGladeになるわけです。見たままで開発できる。

wxGladeについてはここにいいチュートリアルを書いてくれている人がいます。

イベントハンドラーをふくめるとこのwikiがいいかも。

とにかくwxGladeで概要を作ってからイベントハンドラーをゴリゴリ書いていくのがよいのではないかな。

wxPythonがWindows, Mac, Linuxで動作する以上、それで作られているwxGladeはどれでも動きます。

PythonでGUIを伴うアプリを考える場合、考えてみてはどうでしょうか。

追記2020/11:とはいえ使ってるのはPython標準でバンドルされているTkinterです。

関連記事

  1. Arduinoに複数のシリアル通信をさせる

  2. Zend Framework

  3. python 正規表現で文字列判定

  4. Web Serial API

  5. DOAの落とし穴

  6. 汎用プログラムPythonとUSB(2)

  7. 簡単なCSSフレームワーク milligram

  8. Perl定石

記事をプリント