如何更改默认样式颜色进度Qt中
问题描述:
我怎么能在默认QProgressbar改变风格绿色色调,而不改变其他默认渐变和效果(稍微明显的“流白块”的效果):如何更改默认样式颜色进度Qt中
默认QProgressbar风格
。
我试图设置背景色新组合为QProgressBar ::块:水平使用qlineargradient,但我没有成功,以保持与任何这样的样式表的上述效果。
答
可能试图用计时器来更新样式表是这样的:
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
我很高兴我能帮助你。你能否更新我的答案并将其标记为解决方案。 –
看看http://doc.qt.io /qt-4.8/stylesheet-examples.html –