可能是一个技巧问题,但我找不到答案.
我需要知道何时选择QGraphicsItem.必须有一个被调用的方法.
我知道,QGraphicsItem::itemChange()但它经常被称为.
有更好的方法吗?
谢谢
编辑:有了这个
if(change == ItemSelectedChange && scene()){
cout << "haha " << i++ << endl;
}
Run Code Online (Sandbox Code Playgroud)
每次选择更改都会收到两个电话.
Ant*_*ony 13
您应该value在QGraphicsItem :: itemChange方法中考虑.你想要的可能是这样的:
QVariant YourItem::itemChange(GraphicsItemChange change, const QVariant &value)
{
if (change == QGraphicsItem::ItemSelectedChange)
{
if (value == true)
{
// do stuff if selected
}
else
{
// do stuff if not selected
}
}
return QGraphicsItem::itemChange(change, value);
}
Run Code Online (Sandbox Code Playgroud)