QProgressBar Class

QProgressBar widget 提供水平或垂直进度条。更多

标题 #include <QProgressBar>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
继承: QWidget

公共类型

enum Direction { TopToBottom, BottomToTop }

属性

公共函数

QProgressBar(QWidget *parent = nullptr)
virtual ~QProgressBar()
Qt::Alignment alignment() const
QString format() const
bool invertedAppearance() const
bool isTextVisible() const
int maximum() const
int minimum() const
Qt::Orientation orientation() const
void resetFormat()
void setAlignment(Qt::Alignment alignment)
void setFormat(const QString &format)
void setInvertedAppearance(bool invert)
void setTextDirection(QProgressBar::Direction textDirection)
void setTextVisible(bool visible)
virtual QString text() const
QProgressBar::Direction textDirection() const
int value() const

重新实现的公共函数

virtual QSize minimumSizeHint() const override
virtual QSize sizeHint() const override

公共插槽

void reset()
void setMaximum(int maximum)
void setMinimum(int minimum)
void setOrientation(Qt::Orientation)
void setRange(int minimum, int maximum)
void setValue(int value)

信号

void valueChanged(int value)

受保护函数

virtual void initStyleOption(QStyleOptionProgressBar *option) const

重新实现的受保护函数

virtual bool event(QEvent *e) override
virtual void paintEvent(QPaintEvent *) override

详细说明

进度条用于向用户显示操作的进度,并向用户保证应用程序仍在运行。

进度条使用步骤概念。您可以通过指定可能的最小和最大步长值来设置进度条,然后当您提供当前步长值时,进度条将显示已完成步长的百分比。百分比的计算方法是用进度(value() -minimum() )除以maximum() -minimum() 。

您可以使用setMinimum() 和setMaximum 指定最小和最大步数。当前步数通过setValue() 设置。进度条可以通过reset() 倒回起始位置。

如果最小值和最大值都设置为 0,进度条将显示繁忙指示器,而不是步数百分比。例如,当QNetworkAccessManager 无法确定下载项目的大小时,这就非常有用。

另请参阅 QProgressDialog

成员类型文档

enum QProgressBar::Direction

指定text 垂直进度条的读取方向。

常数说明
QProgressBar::TopToBottom0文本顺时针旋转 90 度。
QProgressBar::BottomToTop1文本逆时针旋转 90 度。

请注意,是否绘制文本取决于样式。目前,CleanLooks 和 Plastique 会绘制文本。Mac、Windows 和 WindowsVista 风格不绘制文本。

另请参阅 textDirection

属性文档

alignment : Qt::Alignment

此属性保存进度条的对齐方式

访问功能:

Qt::Alignment alignment() const
void setAlignment(Qt::Alignment alignment)

format : QString

该属性包含用于生成当前文本的字符串

%p - 替换为已完成的百分比。%v - 替换为当前值。%m - 替换为总步数。

默认值为"%p%"。

访问功能:

QString format() const
void setFormat(const QString &format)
void resetFormat()

另请参见 text().

invertedAppearance : bool

进度条是否以倒置方式显示进度。

如果该属性为true ,进度条会向另一个方向增长(例如从右向左)。默认情况下,进度条不倒置。

访问功能:

bool invertedAppearance() const
void setInvertedAppearance(bool invert)

另请参阅 orientationlayoutDirection

maximum : int

该属性保存进度条的最大值。

设置此属性时,如有必要,minimum ,以确保范围保持有效。如果当前值超出新范围,进度条将通过reset() 重置。

访问功能:

int maximum() const
void setMaximum(int maximum)

minimum : int

该属性保存进度条的最小值。

设置此属性时,如有必要,maximum ,以确保范围保持有效。如果当前值超出新范围,进度条将通过reset() 重置。

访问功能:

int minimum() const
void setMinimum(int minimum)

orientation : Qt::Orientation

该属性用于设置进度条的方向

方向必须为Qt::Horizontal (默认)或Qt::Vertical

访问功能:

Qt::Orientation orientation() const
void setOrientation(Qt::Orientation)

另请参阅 invertedAppearancetextDirection

[read-only] text : const QString

该属性用于保存与进度条一起显示的描述性文本

返回的文本与进度条中间(或某些样式中的左边)显示的文本相同。

文本中显示的进度可能小于最小值,表示进度条在设置任何进度之前处于 "重置 "状态。

在默认实现中,文本要么包含一个百分比值,表示目前的进度,要么是空白的,因为进度条处于重置状态。

访问功能:

virtual QString text() const

textDirection : Direction

该属性用于保存text 垂直进度条的读取方向。

此属性对水平进度条没有影响。默认情况下,读取方向为QProgressBar::TopToBottom

访问功能:

QProgressBar::Direction textDirection() const
void setTextDirection(QProgressBar::Direction textDirection)

另请参阅 orientationtextVisible

textVisible : bool

该属性表示是否显示当前完成百分比。

样式可忽略此属性(例如,QMacStyle 从不绘制文本)。

访问函数:

bool isTextVisible() const
void setTextVisible(bool visible)

另请参阅 textDirection

value : int

此属性保存进度条的当前值

如果试图将当前值更改为最小-最大范围之外的值,则不会对当前值产生任何影响。

访问功能:

int value() const
void setValue(int value)

Notifier 信号:

void valueChanged(int value)

成员函数 文档

[explicit] QProgressBar::QProgressBar(QWidget *parent = nullptr)

用给定的parent 构建一个进度条。

默认情况下,最小步长值为 0,最大步长值为 100。

另请参阅 setRange() 。

[virtual noexcept] QProgressBar::~QProgressBar()

毁灭者

[override virtual protected] bool QProgressBar::event(QEvent *e)

重实现:QWidget::event(QEvent *event).

[virtual protected] void QProgressBar::initStyleOption(QStyleOptionProgressBar *option) const

使用此QProgressBar 中的值初始化option 。当子类需要QStyleOptionProgressBar ,但又不想自己填写所有信息时,该方法非常有用。

另请参阅 QStyleOption::initFrom()。

[override virtual] QSize QProgressBar::minimumSizeHint() const

重构属性访问函数:QWidget::minimumSizeHint

[override virtual protected] void QProgressBar::paintEvent(QPaintEvent *)

重实现:QWidget::paintEvent(QPaintEvent *event).

[slot] void QProgressBar::reset()

重置进度条。进度条 "倒带",不显示进度。

[slot] void QProgressBar::setRange(int minimum, int maximum)

将进度条的最小值和最大值分别设置为minimummaximum

如果maximum 小于minimumminimum 将成为唯一的合法值。

如果当前值超出了新范围,进度条将通过reset() 重置。

可以使用 setRange(0, 0) 将QProgressBar 设置为未确定状态。

另请参阅 minimummaximum

[override virtual] QSize QProgressBar::sizeHint() const

重构属性访问函数:QWidget::sizeHint

[signal] void QProgressBar::valueChanged(int value)

value 是进度条显示的新值。

注: 属性value 的通知信号。

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.