QProgressBar详解
- [1] QProgressBar详解
- 1.QProgressBar简述
- 2.常用方法
- 3.示例,比较进度条
- 4.设置样式表
[1] QProgressBar详解
原文链接:https://blog.csdn.net/wzz953200463/article/details/125530997
1.QProgressBar简述
QProgressBar提供了一个水平或垂直的进度条,可以使用setMinimum()和setMaximum指定最小和最大步数。当前的步数是用setValue()设置的。进度条可以用reset()重绕到开头。
2.常用方法
3.示例,比较进度条
效果1: p1设置如下,正常设置
ui->progressBar1->setMinimum(0);
ui->progressBar1->setMaximum(100);
ui->progressBar1->setValue(50);
ui->progressBar1->setOrientation(Qt::Horizontal);
效果2: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(),有如下几种方式
也可以直接设置显示的值,如下图所示,显示小数。
ui->progressBar1->setAlignment(Qt::AlignLeft | Qt::AlignVCenter); // 对齐方式
ui->progressBar1->setFormat(QString("cur progress value:%1%").arg(QString::number(50.43, 'f', 2)));
效果2:p3设置如下,繁忙进度显示
只需设置最大值、最小值为0就行了。
ui->progressBar3->setMinimum(0);
ui->progressBar3->setMaximum(0);
4.设置样式表
这里简单设置一下样式表。效果如下,仅供参考。
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);
参考链接1 :Qt之QProgressBar