pythonでGUI

pythonGUIは面倒そうなイメージがあったけど、調べてみたらそうでもなさそうなのでちゃんと覚えることにした。調べたところ、wxwidgetがよさそう。


そこで試してみたのは、wxpythonwxformbuilderのふたつ。


wxpythonは初めてだったので、このへんがわかりやすかったです。
ふたつのツールの使い勝手は似たりよったりなので、話をフォーム作りに限定すれば単純に好みの問題になりそう。
個人的にはwxformbuilderが好みだけど。



そして、フォーム作った後は、どちらも生成されたクラスを継承してサブクラスを作っていくという点ではまったく同じ。違ってくるのはそこから先で、eventをどうbindするか。


wxpythonでXRCedを使う場合は、あくまでGUIのリソースは別ファイルのxml上にある。そのため、xrc.XRCCTRLでwidgetとイベントを結びつける。
一方、wxformbuilderを使って生成されたコードでは、リソースはコード上にある。そして、生成されたコード上では、メソッドはself.skipが準備される。
サブクラスを作るときに、スーパークラスのメソッドを必要に応じてオーバーライドしてやればいい。
ちなみに、wxformbuilderで生成されたコメントで、「# Virtual event handlers, overide them in your derived class」となってることからもそれが想定されてることがわかる。


wxformbuilderがどんなもんか知るのはこれがわかりやすかったです。


脈絡はないけどちょっとお気に入り。
Jamie Woon - Night Air (Ramadanman Refix)