对于Q3DBars,可以通过设置每个柱子的颜色来实现大于10的值为红色。具体操作如下:
- 获取到Q3DBars的series对象。
- 遍历每个柱子,如果该柱子的值大于10,则将其颜色设置为红色。
代码示例:
// 获取series对象
QBar3DSeries *series = qobject_cast<QBar3DSeries *>(graph->seriesList().at(0));
// 遍历每个柱子
for (int i = 0; i < series->dataProxy()->itemCount(); i++) {
QBarDataItem item = series->dataProxy()->itemAt(i);
if (item.value() > 10) {
// 设置该柱子颜色为红色
QColor color(Qt::red);
QLinearGradient gradient(QPointF(0, 0), QPointF(0, 1));
gradient.setColorAt(0.0, color);
gradient.setColorAt(1.0, color.darker());
series->setItemColor(i, QBrush(gradient));
}
}
其中,graph
是Q3DBars对象,表示当前绘制的图表。setItemColor()
方法用于设置某个柱子的颜色。上面代码中使用了渐变来实现从浅红到深红的效果。