QT:QProgressBar 如何在进度条上显示自定义文字

QT:QProgressBar显示文本

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

==================================

QT:QProgressBar显示文本

  https://www.thinbug.com/q/31703978

【参考方案1】:

当您想在进度条上添加文本时,您需要将文本默认对齐在右侧。考虑到progressBar 你的instance,下面的代码模板对你有用。

  progressBar->setTextVisible(true);
  progressBar->setFormat("Loading...");
  progressBar->setAlignment(Qt::AlignCenter);  // This will add text over Progress Bar

 

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

在上代码:

    //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)即可。

特此分享,供参考。
————————————————
版权声明:本文为CSDN博主「秋月的私语」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/autumoonchina/article/details/122616725

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值