根据比例更改 QProgressbar 块的颜色

Changing QProgressbar chunk's color according to a scale

我正在尝试根据名为 accuracy 的变量更改 Qprogressbar 的颜色,该变量的值介于 0 和 100 之间。所以基本上,如果精度为 100,则颜色应为绿色,如果为 0,则应变为红色,并且我还希望它支持之间的值和颜色。我写下了以下代码,但它不会影响我的进度条的块颜色。我的代码的哪一部分是错误的? 我感谢任何提示和帮助:)

int G = static_cast<int> (2.5 * accuracy);
int R = 255 - G;
for (G=0, R=0; G<255 && R<255; G++, R++)
{
    ui->progressBar->setStyleSheet("QProgressBar::chunk {background-color: rgb(R, G, 0);}");
}

"QProgressBar::chunk {background-color: rgb(R, G, 0);}" : 该字符串中的RG不访问变量R和G;

问答和未测试:

QString("QProgressBar::chunk {background-color: rgb(") + QString::number(R) + ", " + QString::number(G) + ", 0);}"

正如 user1810087 回答的那样,这是我使用的最终代码,以防其他人想要做同样的事情:)

void MainWindow:: on_progressBar_valueChanged(int value)
{
    G = static_cast<int>( 2.55 * value );
    R = 255 - G;
    QString Style = QString("QProgressBar::chunk {background-color: rgb(" +QString::number(R) + ", " + QString::number(G) + ", 0);}");
    ui->progressBar->setStyleSheet(Style);
}