AGW Logo

agw_title pyprogress

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


description Description

PyProgress is similar to wx.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 wx.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 wx.StaticText which outputs the elapsed time from the starting of the process.


usage 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 = True
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()

This code snippet can be downloaded, see this example script.

Note

Some of the AGW snippets of code in the documentation use images and external files (to create bitmaps or access external data). As these files are not provided in these snippets, you should make the approriate modifications to the code to actually run it.


platforms Supported Platforms

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

styles Window Styles

This class supports the following window styles:


Window styles for pyprogress
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 Events Processing

No custom events are available for this class.


license License And Version

PyProgress is distributed under the wxPython license.

Latest Revision: Andrea Gavana @ 17 Aug 2011, 15.00 GMT

Version 0.4

Module author: Andrea Gavana <andrea.gavana@gmail.com>


hierarchy Inheritance Diagram

Inheritance diagram for module: pyprogress

Inheritance diagram of pyprogress.ProgressGauge, pyprogress.PyProgress


svn_main SVN Revisions

A graphical representation of the SVN commits in the last year.

Click on any date in the picture to jump to that particular revision page, containing information about committers, log messages and SVN diffs.

pyprogress

Revision Graph For pyprogress


2to3 Python 3 Issues (via 2to3)

No issues have been detected by 2to3.py.