2

他のデフォルトのグラデーションと効果を変更せずに、デフォルトの QProgressbar スタイルで緑の色合いを変更する方法 (少し目立つ「フローホワイトチャンク」効果):

デフォルトの QProgressbar スタイル

.

qlineargradientを使用してQProgressBar::chunk: horizo​​ntalの背景色の新しい組み合わせを設定しようとしましたが、そのようなスタイルシートで前述の効果を維持することに成功しませんでした。

4

2 に答える 2

1

おそらく、次のようなタイマーで StyleSheet を更新してみてください:

mRunner = 0.1;

QTimer *mTimer = new QTimer(this);
connect(mTimer, SIGNAL(timeout()), this, SLOT(updateProgress()));
mTimer->start(40);

メソッドは、新しいステップごとに勾配を変更する必要があります。

void MainWindow::updateProgress()
{
    QString lStyle = QString("QProgressBar::chunk {background-color: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #b4b4b4, stop:%1 white, stop:1 #b4b4b4);}").arg(mRunner);
    ui->progressBar->setStyleSheet(lStyle);

    mRunner += 0.01;
    if (mRunner > 1) {
        mRunner = 0.1;
    }
}
于 2017-09-19T21:31:38.020 に答える