1.QProgressBar简述
QProgressBar提供了一个水平或垂直的进度条,可以使用setMinimum()和setMaximum指定最小和最大步数。当前的步数是用setValue()设置的。进度条可以用reset()重绕到开头。
2.常用方法
void setMaximum(int maximum) | 设置最大值 |
void setMinimum(int minimum) | 设置最小值 |
void setRange(int minimum, int maximum) | 设置范围,最大、最小值 |
void setValue(int value) | 设置当前值 |
void reset() | 重置 |
void setOrientation(Qt::Orientation) | 设置方向,垂直,水平 |
void setAlignment(Qt::Alignment alignment) | 设置对齐方式,居中,左、右 |
void setTextVisible(bool visible) | 设置进度条文本是否显示 |
void setInvertedAppearance(bool invert) | 设置正、反 |
void setFormat(const QString &format) | 设置文本显示格式 |
文章图片
p1设置如下,正常设置。
ui->progressBar1->setMinimum(0);
ui->progressBar1->setMaximum(100);
ui->progressBar1->setValue(50);
ui->progressBar1->setOrientation(Qt::Horizontal);
p2设置如下,设置了文字对齐方式,进度条方向等。
ui->progressBar2->setMinimum(0);
ui->progressBar2->setMaximum(100);
ui->progressBar2->setValue(50);
ui->progressBar2->setOrientation(Qt::Horizontal);
ui->progressBar2->setInvertedAppearance(true);
//设置反方向
ui->progressBar2->setFormat("%v");
ui->progressBar2->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);
// 对齐方式
setFormat(),有如下几种方式
%p% |
百分比,这是默认的显示方式 |
%v | 当前进度 |
%m | 总步数 |
文章图片
ui->progressBar1->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);
// 对齐方式ui->progressBar1->setFormat(QString("cur progress value:%1%").arg(QString::number(50.43, 'f', 2)));
p3设置如下,繁忙进度显示。
只需设置最大值、最小值为0就行了。
ui->progressBar3->setMinimum(0);
ui->progressBar3->setMaximum(0);
4.设置样式表
【Qt入门|Qt QProgressBar详解】这里简单设置一下样式表。效果如下,仅供参考。
文章图片
QString s1 = "QProgressBar {\
border: 2px solid grey;
\
border-radius: 5px;
\
text-align: center;
\
color:#ff0000;
\
}";
QString s2 = "QProgressBar::chunk {\
background-color: #05B8CC;
\
width: 20px;
\
margin: 0.5px;
\
}";
调用
ui->progressBar1->setStyleSheet(s1+s2);
推荐阅读
- Qt入门|Qt QScrollArea
- 遇见C++|【C++】STL(string类)
- 前端|前端求职难(那是你没看见这个)
- 遥感数据python编程|python读取nc数据并绘图
- Jetson|Ubuntu(Jetson nano) qtcreator配置Libtorch、Qt、opencv
- #|向上转型和向下转型
- 从头构筑C#知识体系|【从头构筑C#知识体系】1.9 特性
- Java基础|Java基础.Java编译过程
- Python每日一练|Python每日一练(牛客网新题库)——第10天(从入门到实践四十招)