可能是一个棘手的问题,但我找不到答案。
我需要知道何时选择了 QGraphicsItem。必须有一个被调用的方法。
我知道 QGraphicsItem::itemChange()
但它被调用得太频繁了。
有没有更好的方法?
谢谢
编辑:有了这个
if(change == ItemSelectedChange && scene()){
cout << "haha " << i++ << endl;
}
每次选择更改我都会接到两个电话。
最佳答案
你应该带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);
}
关于qt - 选择 QGraphicsItem 时调用什么方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10287158/