wxPythonメモ

Ubuntuではaptを使って必要なパッケージをインストール可能

sudo apt-get install python-wxgtk2.8

Python系はチュートリアルが異様に充実していることが多々あるがwxPythonもご多分にもれずwikiが充実している. wxPyWikiのGettingStartedページはこちら

最も基本となるウィンドウを表示するだけのコードはこうなる

#!/usr/bin/env python
import wx

app = wx.App(False)
frame = wx.Frame(None, wx.ID_ANY, “Hello World”)
frame.Show(True)

app.MainLoop()

app = wx.App(False) ここで新しいアプリケーションのインスタンスを生成している.Falseを引数に与えるとstdout/stderrをアプリケーションにリダイレクトしないという意味になる.

frame = wx.Frame(None, wx.ID_ANY, “Hello World”) frameはトップレベルwindow.シンタックスはFrame(Parent, ID, “タイトル”),見ればだいたい想像つくと思うけどParentは親のID,今回は親プロセスはないのでNone.IDは受け付けるイベントのID,wx.ID_ANYを渡すと全てのイベントを受け取る.

frame.Show(True) ここでwindowを表示か非表示化を選択する.

app.MainLoop() ここでメインループに入る.Win32Apiで言うところの

while(TRUE){
  GetMessage(&msg, NULL, 0, 0);
}

関数にあたるもの.プロセスが終了するまでイベントを監視し続ける.

いい意味でごく普通のGUIツールキットみたいですね.Win32Apiほど何でもありって感じはしないですがお行儀のいいものを書く分には不自由しなさそうです.速度も充分だしKiCadのプラグインでも書いてみようかな.