The progressWindow command creates a window containing a status message, a graphical progress gauge, and optionally a Hit ESC to Cancellabel for interruptable operations. Only one progress window is allowed on screen at a time. While the window is visible, the busy cursor is shown.
| Long name (short name) | Argument Types | Properties | |
|---|---|---|---|
| endProgress (ep) | bool |   | |
| Terminates the progress window. No other flags can be used at the same time. This is normally issued through MEL in response to the -ic/isCancelled flag being set or if the progress value reaches its maximum. Flag can have multiple arguments, passed either as a tuple or a list. | |||
| isCancelled (ic) | bool |   | |
| 
 | |||
| isInterruptable (ii) | bool |       | |
| 
 | |||
| maxValue (max) | int |       | |
| The maximum or endingvalue of the progress indicator. If the progress value is greater than the -max/maxValue, the progress value will be set to the maximum. Default value is 100. | |||
| minValue (min) | int |       | |
| The minimum or startingvalue of the progress indicator. If the progress value is less than the -min/minValue, the progress value will be set to the minimum. Default value is 0. | |||
| progress (pr) | int |       | |
| 
 | |||
| status (st) | unicode |       | |
| 
 | |||
| step (s) | int |   | |
| 
 | |||
| title (t) | unicode |       | |
| 
 | |||
Derived from mel command maya.cmds.progressWindow
Example:
import pymel.core as pm
# +-+------------------+
# |-|  Doing Nothing   |
# +--------------------+
# | Sleeping: 40%      |
# |                    |
# | +----------------+ |
# | |||||||          | |
# | +----------------+ |
# |                    |
# | Hit ESC to Cancel  |
# +--------------------+
# Always use the progress dialog from a script, never directly
# from the Script Editor.
amount = 0
pm.progressWindow(  title='Doing Nothing',
                                    progress=amount,
                                    status='Sleeping: 0%',
                                    isInterruptable=True )
while True :
    # Check if the dialog has been cancelled
    if pm.progressWindow( query=True, isCancelled=True ) :
            break
    # Check if end condition has been reached
    if pm.progressWindow( query=True, progress=True ) "= 100 :
            break
    amount += 5
    pm.progressWindow( edit=True, progress=amount, status=('Sleeping: ' + `amount` + '%' ) )
    pm.pause( seconds=1 )
pm.progressWindow(endProgress=1)