wxPython

全体的に素晴らしくまとまっていると思います。というかまんま Win32 のような気もしますが。
でも wx.Window.ClientWidth とか欲しかったよ。

属性アクセス

GetXXX 及び SetXXX 両方のメソッドがある場合、XXX でアクセスできるが、これは XXX = property(GetXXX, SetXXX) というコードで機械的に生成しているだけのようだ。
プロパティ経由でアクセスすれば get / set ともに簡便だが、うまくいかないことがあるので注意されたい。

イベント

wxWidgets のイベントはマルチキャスト形式のイベントシステムである。
他のイベントに処理を継続させたいときは event.Skip() する。イベント自体を停止させたいときは event.StopPropagation() する。
ここは試してないので適当。

wx.EVT_PAINT

次のコードで上書き描画できる ?

event.Skip()
dc = wx.ClientDC(self)