私はubuntu 11.04を実行しています。これは私の進行状況バーがどのように見えるかです:
バッチ処理ウィンドウ (バッチ アイテムごとに 1 つ) にプログレス バーを表示しており、それらをステータス インジケーターとして使用したいと考えています (すべてが順調に進んでいるときは緑、エラーの場合は赤など)。
このほぼ同じ質問に対して行われたものを含め、いくつかの提案を試みました。残念ながら、私はそれを機能させることができませんでしたし、QProgressBars のカスタマイズに関するドキュメントも役に立ちません。
提案どおりに QProgressBar をサブクラス化し、スタイルシートとパレットを使用してみました (同時にではなく、代替手段として)。スタイルシートでは、通常のプログレス バーのように見せることはできません。色を変えることだけが本当にやりたいことなので、スタイルシートの代わりにパレットを使用する方がはるかに簡単だと思いましたが、パレットでは何も起こりません。
パレットで試したバージョンの 1 つを次に示します。
#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);
}
...
ここで提案されているバージョンも試しましたが、それも役に立ちませんでした。