c++ - 根据比例更改 QProgressbar 块的颜色
问题描述
我正在尝试根据名为 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);}"
:R
并且G
在这个字符串中不要访问变量 R 和 G;
问答和未经测试:
QString("QProgressBar::chunk {background-color: rgb(") + QString::number(R) + ", " + QString::number(G) + ", 0);}"
推荐阅读
- javascript - 如何在axios中调用函数?
- asp.net - 在 ASP.NET 中通过电子邮件恢复密码
- debian - 将配置文件的更改安装为更新,并在不需要时将其整齐地删除
- javascript - 单击按钮时加载 html 页面的 javascript 代码是什么?
- c++ - MediaCodec -- AMediaCodec_start() 返回 -10000,为什么?我该如何解决?
- javascript - 有没有办法最小化 Javascript 中的类定义?
- python - 如何连接列表中的每 4 次出现?
- javascript - 如何在 vue js 中正确初始化数据?
- mysql - 在节点 js 中循环查询 sequilze
- c++ - 引用本机 dll,使其出现在 UWP 项目的子文件夹中