首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何更改Qt中进度条的默认样式颜色

如何更改Qt中进度条的默认样式颜色
EN

Stack Overflow用户
提问于 2017-09-19 20:10:09
回答 2查看 4.1K关注 0票数 2

如何在不改变其他默认渐变和效果的情况下,改变默认QProgressbar样式的绿色色调(一点明显的“流白块”效应):

默认QProgressbar样式

我尝试为QProgressBar::区块:水平使用q线性梯度设置新的背景色组合,但是我没有成功地在任何这样的样式表中保留提到的效果。

EN

Stack Overflow用户

回答已采纳

发布于 2017-09-19 21:31:38

可能尝试使用这样的计时器更新StyleSheet:

代码语言:javascript
运行
复制
mRunner = 0.1;

QTimer *mTimer = new QTimer(this);
connect(mTimer, SIGNAL(timeout()), this, SLOT(updateProgress()));
mTimer->start(40);

方法应该改变每一个新步骤的梯度:

代码语言:javascript
运行
复制
void MainWindow::updateProgress()
{
    QString lStyle = QString("QProgressBar::chunk {background-color: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #b4b4b4, stop:%1 white, stop:1 #b4b4b4);}").arg(mRunner);
    ui->progressBar->setStyleSheet(lStyle);

    mRunner += 0.01;
    if (mRunner > 1) {
        mRunner = 0.1;
    }
}
票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46308990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档