プログレスバーの表示方法

wx.lib.agw.pyprogressを使う例。demo_wxPythonの中の使用例を簡略化して、最小限の機能を有効にしたもの。
ボタンを押したとき、図のようなプログレスバーが表示されるようになる。よくあるプログレスバーよりも若干かっこいい。

import wx.lib.agw.pyprogress as PP
(略)
    def OnStartProgress(self, event):  # ボタンが押されたときの関数
        event.Skip()

        dlg = PP.PyProgress(None, -1, "Example", "Test",
                            style=wx.PD_APP_MODAL|wx.PD_ELAPSED_TIME)
        dlg.SetGaugeProportion(0.2)
        dlg.SetGaugeSteps(50)

        max = 400
        count = 0

        while count < max:
            count += 1
            wx.MilliSleep(30)

            if count >= max / 2:
                dlg.UpdatePulse("Half-time!")
            else:
                dlg.UpdatePulse("Running...")

        dlg.Destroy()
        wx.SafeYield()
        wx.GetApp().GetTopWindow().Raise()