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::TopToBottom | 0 | 文本顺时针旋转 90 度。 |
QProgressBar::BottomToTop | 1 | 文本逆时针旋转 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) |
另请参阅 orientation 和layoutDirection 。
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) |
另请参阅 invertedAppearance 和textDirection 。
[read-only]
text : const QString
该属性用于保存与进度条一起显示的描述性文本
返回的文本与进度条中间(或某些样式中的左边)显示的文本相同。
文本中显示的进度可能小于最小值,表示进度条在设置任何进度之前处于 "重置 "状态。
在默认实现中,文本要么包含一个百分比值,表示目前的进度,要么是空白的,因为进度条处于重置状态。
访问功能:
virtual QString | text() const |
textDirection : Direction
该属性用于保存text 垂直进度条的读取方向。
此属性对水平进度条没有影响。默认情况下,读取方向为QProgressBar::TopToBottom 。
访问功能:
QProgressBar::Direction | textDirection() const |
void | setTextDirection(QProgressBar::Direction textDirection) |
另请参阅 orientation 和textVisible 。
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)
将进度条的最小值和最大值分别设置为minimum 和maximum 。
如果maximum 小于minimum ,minimum 将成为唯一的合法值。
如果当前值超出了新范围,进度条将通过reset() 重置。
可以使用 setRange(0, 0) 将QProgressBar 设置为未确定状态。
[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.