Я использую ubuntu 11.04. Это так выглядят мои индикаторы выполнения:
Я показываю индикаторы выполнения в окне пакетной обработки (по одному для каждого элемента пакета) и хочу использовать их в качестве индикатора состояния (зеленый, когда все идет хорошо, красный в случае ошибки, ...).
Я пробовал несколько предложений, включая те, которые были сделаны на этот почти идентичный вопрос.К сожалению, мне не удалось заставить его работать, и документация по настройке QProgressBars мне тоже не помогает, поэтому я был бы очень благодарен за любые предложения относительно того, что я делаю неправильно.
Я создал подклассы QProgressBar, как было предложено, и попытался использовать таблицы стилей, а также палитру (не одновременно, а в качестве альтернативы). С помощью таблиц стилей я не могу сделать их похожими на обычные индикаторы выполнения. На самом деле, изменить цвет - это все, что я хочу сделать, поэтому я решил, что это должно быть намного проще сделать, используя палитру вместо таблицы стилей, но с палитрой вообще ничего не происходит.
Вот одна из версий, которые я пробовал для палитры:
#include "myprogressbar.h"
#include
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);
}
...
Я также пробовал версию, предложенную здесь , но это тоже не помогло.