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. 新世代コンピューターシンセサイザー

  3. P2Pは大事

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

  5. Tkinterにおけるタイマー処理、ボタン処理

  6. Windowsスクリプト

  7. PyUSB 私家版日本語訳(3)

  8. やっぱりドットインストールは勉強にいい

記事をプリント