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

问题描述:

我怎么能在默认QProgressbar改变风格绿色色调,而不改变其他默认渐变和效果(稍微明显的“流白块”的效果):如何更改默认样式颜色进度Qt中

默认QProgressbar风格

我试图设置背景色新组合为QProgressBar ::块:水平使用qlineargradient,但我没有成功,以保持与任何这样的样式表的上述效果。

+0

看看http://doc.qt.io /qt-4.8/stylesheet-examples.html –

可能试图用计时器来更新样式表是这样的:

mRunner = 0.1; 

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

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

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; 
    } 
} 
+0

感谢您的回答!它按预期工作。 – jola

+0

我很高兴我能帮助你。你能否更新我的答案并将其标记为解决方案。 –