Изменить цвет QProgressBar

Я использую 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);
}

...

Я также попробовал предложенную версиюВот, но это тоже не помогло.

Ответы на вопрос(3)

Ваш ответ на вопрос