根据比例更改 QProgressbar 块的颜色



我正试图根据一个名为accuration的变量更改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;

Q&D和未测试:

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);
}

相关内容

  • 没有找到相关文章

最新更新