qgraphicsitem 选中时文字颜色不一样
时间: 2023-12-31 10:05:20 浏览: 71
同一个textview,字体颜色不一样
类似于改变QGraphicsItem的颜色,可以通过重写QGraphicsItem的paint方法来改变其文字的颜色。可以通过以下步骤实现:
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->setPen(Qt::red);
}
else
{
painter->setPen(Qt::black);
}
painter->drawText(rect(), Qt::AlignCenter, "Hello World!");
}
```
这样,当QGraphicsItem被选中时,其文字的颜色会变为红色,否则为黑色。
阅读全文