Phoenix Logo

phoenix_title wx.lib.agw.pyprogress

PyProgress is similar to ProgressDialog in indeterminated mode, but with a different gauge appearance and a different spinning behavior.

Description

PyProgress is similar to ProgressDialog in indeterminated mode, but with a different gauge appearance and a different spinning behavior. The moving gauge can be drawn with a single solid colour or with a shading gradient foreground. The gauge background colour is user customizable.

The bar does not move always from the beginning to the end as in ProgressDialog in indeterminated mode, but spins cyclically forward and backward.

Other options include:

  • Possibility to change the proportion between the spinning bar and the entire gauge, so that the bar can be longer or shorter (the default is 20%);
  • Modifying the number of steps the spinning bar performs before a forward (or backward) loop reverses.

PyProgress can optionally display a Cancel button, and a StaticText which outputs the elapsed time from the starting of the process.

Usage

Usage example:

import wx
import wx.lib.agw.pyprogress as PP

# Our normal wxApp-derived class, as usual
app = wx.App(0)

dlg = PP.PyProgress(None, -1, "PyProgress Example",
                    "An Informative Message",
                    agwStyle=wx.PD_APP_MODAL | wx.PD_ELAPSED_TIME)

dlg.SetGaugeProportion(0.2)
dlg.SetGaugeSteps(50)
dlg.SetGaugeBackground(wx.WHITE)
dlg.SetFirstGradientColour(wx.WHITE)
dlg.SetSecondGradientColour(wx.BLUE)

max = 400
keepGoing = 1
count = 0

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

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

dlg.Destroy()

app.MainLoop()

Supported Platforms

PyProgress has been tested on the following platforms:
  • Windows (Windows XP);
  • Linux Ubuntu (Dapper 6.06)

Window Styles

This class supports the following window styles:

Window Styles Hex Value Description
PD_CAN_ABORT 0x1 This flag tells the dialog that it should have a Cancel button which the user may press. If this happens, the next call to Update will return False.
PD_APP_MODAL 0x2 Make the progress dialog modal. If this flag is not given, it is only ‘locally’ modal - that is the input to the parent window is disabled, but not to the other ones.
PD_AUTO_HIDE 0x4 Causes the progress dialog to disappear from screen as soon as the maximum value of the progress meter has been reached.
PD_ELAPSED_TIME 0x8 This flag tells the dialog that it should show elapsed time (since creating the dialog).

Events Processing

No custom events are available for this class.

License And Version

PyProgress is distributed under the wxPython license.

Latest Revision: Andrea Gavana @ 19 Dec 2012, 21.00 GMT

Version 0.5

class_summary Classes Summary

ProgressGauge This class provides a visual alternative for Gauge.
PyProgress PyProgress is similar to ProgressDialog in indeterminated mode, but with a