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. Googleの検索結果をスプレッドシートに抜く方法

  2. PostgreSQL JDBCドライバーの注意点

  3. Mac環境でPHP使ってウェブアプリの開発

  4. MPASMがなくなった

  5. CakePHP(1)

  6. 一人でアプリケーションを開発する時のサーバーレス

  7. Reactのお勉強方法

  8. CodeIgniter 別のViewの書き方

記事をプリント