简述
QGraphicsTextItem跟QGraphicsItem很类似,派生与QGraphicsObject,拥有QGraphicsItem的一切属性;区别在于QGraphicsTextItem可以作为编辑框使用,但是其原生的风格你可能不是很喜欢,所以需要对其进行改造.
点击QGraphicsTextItem后会在其周围显示一个虚线框表示已选中状态,但是这个框并不是我想要的,那怎么去掉他呢?
代码
void MGraphicsTextItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
// 编辑状态按原来的执行
if (hasFocus())
{
QItem::paint(painter, option, widget);
}
// 选中状态去掉虚线
else
{
// 原来什么属性就要什么属性,只不过去掉多余的选中状态
QStyleOptionGraphicsItem optionx(*option );
optionx.state &= ~QStyle::State_Selected;
QItem::paint(painter, &optionx, widget);
}
}