今天研究了下QGraphicsProxyWidget移动的问题,发现没法移动
void CustomProxy::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
{
return QGraphicsItem::mouseMoveEvent(event);
}
void CustomProxy::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
return QGraphicsItem::mousePressEvent(event);
}
void CustomProxy::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
{
return QGraphicsItem::mouseReleaseEvent(event);
}
直接复写这三个虚函数,使点击移动事件不传递给widget控件,直接传递给基类Item,就可以实现移动了
本文介绍了如何通过重写QGraphicsProxyWidget的鼠标事件来实现控件的移动功能。通过将移动事件直接传递给基类QGraphicsItem处理,避免了默认行为导致的不可移动问题。
346





