Qt如何在进度条上显示自定义文字

您所在的位置:网站首页 进度条excel加文字 Qt如何在进度条上显示自定义文字

Qt如何在进度条上显示自定义文字

2023-07-27 02:24| 来源: 网络整理| 查看: 265

先看看效果:

在上代码:

//author:autumoon //联系QQ:4589968 //日期:2022-01-21 //添加一个HBox QHBoxLayout* hbl = new QHBoxLayout(ui->centralwidget); hbl->setGeometry(QRect(20, 30, 400, 40)); //添加多个进度条和文字 int nProgressBarCount = 7; for (int i = 0; i < nProgressBarCount; ++i) { QProgressBar* pbCur = new QProgressBar(); hbl->addWidget(pbCur); pbCur->setGeometry(0,0,50, 40); pbCur->setMaximum(100); pbCur->setValue(30); pbCur->setFormat("这是一个测试30%"); pbCur->setAlignment(Qt::AlignRight | Qt::AlignCenter); if (i == 0) { pbCur->setMaximum(0); //pbCur->setValue(0); } pbCur->show(); }

说下过程:

最近有个需求,想在Qt的进度条上显示文字,查阅网上资料,结果一时竟然没有找到好的办法,有的人说使用QLable直接放在QProgressBar上,然后设置透明属性,总觉得这个方法不是太好,直到我找到了一篇博文《Qt 进度条QProgressBar的一些相关使用方法与设置》,提到了上述设置方式,也就是setFormat和setAlignment,亲测非常好用。

这段代码使用了动态添加空间的方法,其中第一个进度条,使用了setMaxmum(0)实现繁忙显示,原文中说“如果最小值和最大值都设置为0,进度条会显示了一个繁忙指示,而不会显示当前的值。这一点有时候很有用。”不过我实际测试,发现只需要设置setMaximum(0)即可。

特此分享,供参考。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3