QProgressBar Class Reference

The QProgressBar widget provides a horizontal or vertical progress bar.

  1. #include <QProgressBar>

Inherits: QWidget.

Detailed Description

The QProgressBar widget provides a horizontal or vertical progress bar.

A progress bar is used to give the user an indication of the progress of an operation and to reassure them that the application is still running.

The progress bar uses the concept of steps. You set it up by specifying the minimum and maximum possible step values, and it will display the percentage of steps that have been completed when you later give it the current step value. The percentage is calculated by dividing the progress (value() - minimum()) divided by maximum() - minimum().

You can specify the minimum and maximum number of steps with setMinimum() and setMaximum. The current number of steps is set with setValue(). The progress bar can be rewound to the beginning with reset().

If minimum and maximum both are set to 0, the bar shows a busy indicator instead of a percentage of steps. This is useful, for example, when using QFtp or QNetworkAccessManager to download items when they are unable to determine the size of the item being downloaded.

Screenshot of a Macintosh style progress bar

Screenshot of a Macintosh style progress bar

A progress bar shown in the Macintosh widget style.
Screenshot of a Windows XP style progress bar

Screenshot of a Windows XP style progress bar

A progress bar shown in the Windows XP widget style.
Screenshot of a Plastique style progress bar

Screenshot of a Plastique style progress bar

A progress bar shown in the Plastique widget style.

See also QProgressDialog and GUI Design Handbook: Progress Indicator.

Public Types

Toggle detailsenum QProgressBar::

DirectionDirection { TopToBottom , BottomToTop 1 ...} { TopToBottom , BottomToTop 1 }

Specifies the reading direction of the text for vertical progress bars.

ConstantValueDescription
QProgressBar::TopToBottom 0 The text is rotated 90 degrees clockwise.
QProgressBar::BottomToTop 1 The text is rotated 90 degrees counter-clockwise.

Note that whether or not the text is drawn is dependent on the style. Currently CDE, CleanLooks, Motif, and Plastique draw the text. Mac, Windows and WindowsXP style do not.

See also textDirection.

Look up this member in the source code.

    Properties

    Toggle detailsalignmentalignment : Qt::Alignment

    This property holds the alignment of the progress bar

    Access functions:

    Look up this member in the source code.

    Toggle detailsformatformat : QString

    This property holds the string used to generate the current text

    %p - is replaced by the percentage completed. %v - is replaced by the current value. %m - is replaced by the total number of steps.

    The default value is "%p%".

    See also text().

    Access functions:

    Look up this member in the source code.

    Toggle detailsinvertedAppearanceinvertedAppearance : bool

    This property holds whether or not a progress bar shows its progress inverted

    If this property is false, the progress bar grows in the other direction (e.g. from right to left). By default, the progress bar is not inverted.

    See also orientation and layoutDirection.

    Access functions:

    Look up this member in the source code.

    Toggle detailsmaximummaximum : int

    This property holds the progress bar's maximum value

    When setting this property, the minimum is adjusted if necessary to ensure that the range remains valid. If the current value falls outside the new range, the progress bar is reset with reset().

    Access functions:

    Look up this member in the source code.

    Toggle detailsminimumminimum : int

    This property holds the progress bar's minimum value

    When setting this property, the maximum is adjusted if necessary to ensure that the range remains valid. If the current value falls outside the new range, the progress bar is reset with reset().

    Access functions:

    Look up this member in the source code.

    Toggle detailsorientationorientation : Qt::Orientation

    This property holds the orientation of the progress bar

    The orientation must be Qt::Horizontal (the default) or Qt::Vertical.

    See also invertedAppearance and textDirection.

    Access functions:

    Look up this member in the source code.

    Toggle detailstexttext : const QString

    This property holds the descriptive text shown with the progress bar

    The text returned is the same as the text displayed in the center (or in some styles, to the left) of the progress bar.

    The progress shown in the text may be smaller than the minimum value, indicating that the progress bar is in the "reset" state before any progress is set.

    In the default implementation, the text either contains a percentage value that indicates the progress so far, or it is blank because the progress bar is in the reset state.

    Access functions:

    • virtual QString text () const

    Look up this member in the source code.

    Toggle detailstextDirectiontextDirection : Direction

    This property holds the reading direction of the text for vertical progress bars

    This property has no impact on horizontal progress bars. By default, the reading direction is QProgressBar::TopToBottom.

    See also orientation and textVisible.

    Access functions:

    Look up this member in the source code.

    Toggle detailstextVisibletextVisible : bool

    This property holds whether the current completed percentage should be displayed

    This property may be ignored by the style (e.g., QMacStyle never draws the text).

    See also textDirection.

    Access functions:

    Look up this member in the source code.

    Toggle detailsvaluevalue : int

    This property holds the progress bar's current value

    Attempting to change the current value to one outside the minimum-maximum range has no effect on the current value.

    Access functions:

    Look up this member in the source code.

      Public Functions

      Toggle details QProgressBar

      QProgressBarQProgressBar ( QWidget *parent=0 ) ( QWidget *parent=0 )

      Constructs a progress bar with the given parent.

      By default, the minimum step value is set to 0, and the maximum to 100.

      See also setRange().

      Look up this member in the source code.

      Toggle details bool QProgressBar

      eventevent ( QEvent *e ) ( QEvent *e ) [virtual protected]

      Reimplemented from QObject::event().

      Look up this member in the source code.

      Toggle details void QProgressBar

      initStyleOptioninitStyleOption ( QStyleOptionProgressBar *option ...) ( QStyleOptionProgressBar *option )const[protected]

      Initialize option with the values from this QProgressBar. This method is useful for subclasses when they need a QStyleOptionProgressBar or QStyleOptionProgressBarV2, but don't want to fill in all the information themselves. This function will check the version of the QStyleOptionProgressBar and fill in the additional values for a QStyleOptionProgressBarV2.

      See also QStyleOption::initFrom().

      Look up this member in the source code.

      Toggle details QSize QProgressBar

      minimumSizeHintminimumSizeHint () ()const [virtual]

      Reimplemented from QWidget::minimumSizeHint().

      Look up this member in the source code.

      Toggle details void QProgressBar

      paintEventpaintEvent ( QPaintEvent * ) ( QPaintEvent * ) [virtual protected]

      Reimplemented from QWidget::paintEvent().

      Look up this member in the source code.

      Toggle details QSize QProgressBar

      sizeHintsizeHint () ()const [virtual]

      Reimplemented from QWidget::sizeHint().

      Look up this member in the source code.

        Signals

        Toggle details void QProgressBar

        valueChangedvalueChanged ( int value ) ( int value ) [signal]

        This signal is emitted when the value shown in the progress bar changes. value is the new value shown by the progress bar.

        Look up this member in the source code.

          Public Slots

          Toggle details void QProgressBar

          resetreset () () [slot]

          Reset the progress bar. The progress bar "rewinds" and shows no progress.

          Look up this member in the source code.

          Toggle details void QProgressBar

          setRangesetRange ( int minimum , int maximum ) ( int minimum , int maximum ) [slot]

          Sets the progress bar's minimum and maximum values to minimum and maximum respectively.

          If maximum is smaller than minimum, minimum becomes the only legal value.

          If the current value falls outside the new range, the progress bar is reset with reset().

          See also minimum and maximum.

          Look up this member in the source code.

            Notes provided by the Qt Community
            Informative
            • 5

            Votes: 3

            Coverage: Qt library 4.8, 4.7, 5.0

            Picture of daviddoria daviddoria

            Lab Rat
            6 notes

            QProgressDialog

            Related to QProgressBar is QProgressDialog – it is a widget that contains a QProgressBar. It can be used as a “waiting…” type of indicator when unsure of how to accurately indicate the actual progress.
            http://developer.qt.nokia.com/wiki/Progress-bar

            [Revisions]