// Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only #ifndef QPROGRESSBAR_H #define QPROGRESSBAR_H #include #include QT_REQUIRE_CONFIG(progressbar); QT_BEGIN_NAMESPACE class QProgressBarPrivate; class QStyleOptionProgressBar; class Q_WIDGETS_EXPORT QProgressBar : public QWidget { Q_OBJECT Q_PROPERTY(int minimum READ minimum WRITE setMinimum) Q_PROPERTY(int maximum READ maximum WRITE setMaximum) Q_PROPERTY(QString text READ text) Q_PROPERTY(int value READ value WRITE setValue NOTIFY valueChanged) Q_PROPERTY(Qt::Alignment alignment READ alignment WRITE setAlignment) Q_PROPERTY(bool textVisible READ isTextVisible WRITE setTextVisible) Q_PROPERTY(Qt::Orientation orientation READ orientation WRITE setOrientation) Q_PROPERTY(bool invertedAppearance READ invertedAppearance WRITE setInvertedAppearance) Q_PROPERTY(Direction textDirection READ textDirection WRITE setTextDirection) Q_PROPERTY(QString format READ format WRITE setFormat RESET resetFormat) public: enum Direction { TopToBottom, BottomToTop }; Q_ENUM(Direction) explicit QProgressBar(QWidget *parent = nullptr); ~QProgressBar(); int minimum() const; int maximum() const; int value() const; virtual QString text() const; void setTextVisible(bool visible); bool isTextVisible() const; Qt::Alignment alignment() const; void setAlignment(Qt::Alignment alignment); QSize sizeHint() const override; QSize minimumSizeHint() const override; Qt::Orientation orientation() const; void setInvertedAppearance(bool invert); bool invertedAppearance() const; void setTextDirection(QProgressBar::Direction textDirection); QProgressBar::Direction textDirection() const; void setFormat(const QString &format); void resetFormat(); QString format() const; public Q_SLOTS: void reset(); void setRange(int minimum, int maximum); void setMinimum(int minimum); void setMaximum(int maximum); void setValue(int value); void setOrientation(Qt::Orientation); Q_SIGNALS: void valueChanged(int value); protected: bool event(QEvent *e) override; void paintEvent(QPaintEvent *) override; virtual void initStyleOption(QStyleOptionProgressBar *option) const; private: Q_DECLARE_PRIVATE(QProgressBar) Q_DISABLE_COPY(QProgressBar) }; QT_END_NAMESPACE #endif // QPROGRESSBAR_H