I am running ubuntu 11.04. This is what my progress bars look like:
I am showing the progr
Using the "Highlight" color role does the trick in my case (using Plastique style).
QPalette p = palette();
p.setColor(QPalette::Highlight, Qt::green);
setPalette(p);
It tried this :
QProgressBar {
border: 2px solid grey;
border-radius: 5px;
background-color: #FF0000;
}
QProgressBar::chunk {
background-color: #05B8CC;
width: 20px;
}
as styleSheet for the progressBar and I got this
so it is easy to change the background of the bar to the color you want and you can display a text by yourself with setFormat()
. Is it working for you?
I had this problem too, but I find a way, with the help of this site: http://thesmithfam.org/blog/2009/10/13/cool-qprogressbar-stylesheet/
but I just wanted to change the color and not the progressbar itself. so I got rid of the first line, and change the second one a little bit.
Finally I got what I wanted.
First do this:
QString danger = "QProgressBar::chunk {background: QLinearGradient( x1: 0, y1: 0, x2: 1, y2: 0,stop: 0 #FF0350,stop: 0.4999 #FF0020,stop: 0.5 #FF0019,stop: 1 #FF0000 );border-bottom-right-radius: 5px;border-bottom-left-radius: 5px;border: .px solid black;}";
QString safe= "QProgressBar::chunk {background: QLinearGradient( x1: 0, y1: 0, x2: 1, y2: 0,stop: 0 #78d,stop: 0.4999 #46a,stop: 0.5 #45a,stop: 1 #238 );border-bottom-right-radius: 7px;border-bottom-left-radius: 7px;border: 1px solid black;}";
Now all you have to do is:
if(ui->progressbar->value()<80)
ui->progressbar->setStyleSheet(danger);
else
ui->progressbar->setStyleSheet(safe);