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. MPASMがなくなった

  2. JavaScriptでオブジェクト指向をするには

  3. Google Map APIでとりあえずマーカーを立てる

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

  5. カラーミーAPIを使う(発送データ作成)

  6. アプリケーションの開発では

  7. お気に入りのエディター(SublimeText3)

  8. Linux Kernel Map

記事をプリント