File indexing completed on 2026-09-22 09:04:37
0001
0002
0003
0004
0005 #ifndef QPROGRESSBAR_H
0006 #define QPROGRESSBAR_H
0007
0008 #include <QtWidgets/qtwidgetsglobal.h>
0009 #include <QtWidgets/qframe.h>
0010
0011 QT_REQUIRE_CONFIG(progressbar);
0012
0013 QT_BEGIN_NAMESPACE
0014
0015 class QProgressBarPrivate;
0016 class QStyleOptionProgressBar;
0017
0018 class Q_WIDGETS_EXPORT QProgressBar : public QWidget
0019 {
0020 Q_OBJECT
0021 Q_PROPERTY(int minimum READ minimum WRITE setMinimum)
0022 Q_PROPERTY(int maximum READ maximum WRITE setMaximum)
0023 Q_PROPERTY(QString text READ text)
0024 Q_PROPERTY(int value READ value WRITE setValue NOTIFY valueChanged)
0025 Q_PROPERTY(Qt::Alignment alignment READ alignment WRITE setAlignment)
0026 Q_PROPERTY(bool textVisible READ isTextVisible WRITE setTextVisible)
0027 Q_PROPERTY(Qt::Orientation orientation READ orientation WRITE setOrientation)
0028 Q_PROPERTY(bool invertedAppearance READ invertedAppearance WRITE setInvertedAppearance)
0029 Q_PROPERTY(Direction textDirection READ textDirection WRITE setTextDirection)
0030 Q_PROPERTY(QString format READ format WRITE setFormat RESET resetFormat)
0031
0032 public:
0033 enum Direction { TopToBottom, BottomToTop };
0034 Q_ENUM(Direction)
0035
0036 explicit QProgressBar(QWidget *parent = nullptr);
0037 ~QProgressBar();
0038
0039 int minimum() const;
0040 int maximum() const;
0041
0042 int value() const;
0043
0044 virtual QString text() const;
0045 void setTextVisible(bool visible);
0046 bool isTextVisible() const;
0047
0048 Qt::Alignment alignment() const;
0049 void setAlignment(Qt::Alignment alignment);
0050
0051 QSize sizeHint() const override;
0052 QSize minimumSizeHint() const override;
0053
0054 Qt::Orientation orientation() const;
0055
0056 void setInvertedAppearance(bool invert);
0057 bool invertedAppearance() const;
0058 void setTextDirection(QProgressBar::Direction textDirection);
0059 QProgressBar::Direction textDirection() const;
0060
0061 void setFormat(const QString &format);
0062 void resetFormat();
0063 QString format() const;
0064
0065 public Q_SLOTS:
0066 void reset();
0067 void setRange(int minimum, int maximum);
0068 void setMinimum(int minimum);
0069 void setMaximum(int maximum);
0070 void setValue(int value);
0071 void setOrientation(Qt::Orientation);
0072
0073 Q_SIGNALS:
0074 void valueChanged(int value);
0075
0076 protected:
0077 bool event(QEvent *e) override;
0078 void paintEvent(QPaintEvent *) override;
0079 virtual void initStyleOption(QStyleOptionProgressBar *option) const;
0080
0081 private:
0082 Q_DECLARE_PRIVATE(QProgressBar)
0083 Q_DISABLE_COPY(QProgressBar)
0084 };
0085
0086 QT_END_NAMESPACE
0087
0088 #endif