QGraphicsItem选中并改变颜色
时间: 2023-05-17 19:05:13 浏览: 502
ListView选中item颜色改变
5星 · 资源好评率100%
可以通过重写QGraphicsItem的mousePressEvent和mouseReleaseEvent方法来实现选中并改变颜色的效果。具体实现可以参考以下代码:
void MyGraphicsItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
setBrush(QBrush(Qt::red)); // 设置选中时的颜色
QGraphicsItem::mousePressEvent(event);
}
void MyGraphicsItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
{
setBrush(QBrush(Qt::blue)); // 设置释放时的颜色
QGraphicsItem::mouseReleaseEvent(event);
}
其中,MyGraphicsItem是继承自QGraphicsItem的自定义图形项。在mousePressEvent方法中,我们设置选中时的颜色为红色;在mouseReleaseEvent方法中,我们设置释放时的颜色为蓝色。这样,当用户点击该图形项时,它的颜色就会变为红色;当用户释放鼠标时,它的颜色就会变为蓝色。
阅读全文