Qt示例7:用Qt画一个多彩色的汽车速度表

下面是一个使用Qt实现的彩色进度条的示例代码:

#include <QApplication>
#include <QWidget>
#include <QProgressBar>
#include <QTimer>
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QWidget *window = new QWidget;
    window->setWindowTitle("Colorful Progress Bar");
    QProgressBar *progressBar = new QProgressBar(window);
    progressBar->setGeometry(30, 30, 200, 25);
    progressBar->setRange(0, 100);
    progressBar->setTextVisible(false);
    QTimer *timer = new QTimer(window);
    QObject::connect(timer, &QTimer::timeout, [=]() {
        static int value = 0;
        value = (value + 1) % 101;
        progressBar->setValue(value);
        if (value <= 33) {
            progressBar->setStyleSheet("QProgressBar { background-color: #FF0000; } QProgressBar::chunk { background-color: #FFD700; }");
        } else if (value <= 66) {
            progressBar->setStyleSheet("QProgressBar { background-color: #00FF00; } QProgressBar::chunk { background-color: #FF00D7; }");
        } else {
            progressBar->setStyleSheet("QProgressBar { background-color: #0000FF; } QProgressBar::chunk { background-color: #00FF00; }");
        }
    });
    timer->start(10);
    window->resize(260, 100);
    window->show();
    return app.exec();
}

这个示例代码实现了一个彩色进度条,进度条的颜色随着进度的改变而变化。在实现过程中,使用QProgressBar::chunk伪状态来设置进度条的颜色,使用QTimer来模拟进度的变化并更新进度条的显示。通过调整进度条的样式表,可以实现更加丰富多彩的进度条效果。

效果如下:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值