我正在运行 ubuntu 11.04。这是我的进度条的样子:
我在批处理窗口中显示进度条(每个批处理项目一个),并希望将它们用作状态指示器(一切顺利时为绿色,出现错误时为红色,...)。
我尝试了几个建议,包括对这个几乎相同的问题提出的建议。不幸的是,我无法让它工作,关于自定义 QProgressBars 的文档也对我没有帮助,所以我非常感谢任何关于我做错了什么的建议。
我按照建议对 QProgressBar 进行了子类化,并尝试使用样式表和调色板(不是同时使用,而是作为替代方案)。使用样式表,我无法让它看起来像常规进度条。更改颜色确实是我想做的所有事情,所以我认为使用调色板而不是样式表应该更容易做到这一点,但是使用调色板根本不会发生任何事情。
这是我为调色板尝试过的版本之一:
#include "myprogressbar.h"
#include <QtGui/QPalette>
MyProgressBar::MyProgressBar(QWidget *parent) :
QProgressBar(parent)
{}
void MyProgressBar::onProgress(int value, int maximum, QString phase)
{
setMaximum(maximum);
setValue(value);
setFormat(phase);
QPalette p = this->palette();
p.setColor(QPalette::Highlight, QColor(Qt::green));
this->setPalette(p);
}
...
我也尝试了这里建议的版本,但这也没有帮助。