qgraphicsitem 选中时颜色不一样
时间: 2023-12-31 20:05:20 浏览: 145
qt单选取消选中以及颜色变化
可以通过设置QGraphicsItem的选中状态来改变其颜色。可以通过以下步骤实现:
1. 在QGraphicsItem的构造函数中设置itemIsSelectable属性为true:`setFlag(QGraphicsItem::ItemIsSelectable, true);`
2. 重写QGraphicsItem的paint方法,在其中判断item是否被选中,如果被选中,则改变其颜色:
```
void MyItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
if (option->state & QStyle::State_Selected)
{
painter->setBrush(Qt::red);
}
else
{
painter->setBrush(Qt::green);
}
painter->drawRect(rect());
}
```
这样,当QGraphicsItem被选中时,其颜色会变为红色,否则为绿色。
阅读全文