在创建QGraphicsItem
QT和Pyside时,您可以使用设置它的父对象childItem.setParentItem(parentItem)
。如果在ItemIsMoveable
父级上设置了标志,则拖动父级将转换父级及其所有子级。
在我的用例中,我希望能够从父级内部而不是子级内部的任何位置拖动父级和子级。单击并拖动孩子时,我想采取其他操作。例如,如果制作节点图编辑器,则能够拖动节点及其连接点,但是当从连接点向外拖动时,会创建图形边缘。
可以使用内置的QT标志来完成此操作,还是必须使父项的鼠标移动事件超载?我最初是沿着超载路线走的,但是觉得自己可能正在与已经内置的东西抗争。
Marek R的答案是我找到的最干净的答案。只需mousePressEvent
在子级中实现in即可防止其导致父级的可移动行为:
class Child(QtGui.QGraphicsItem):
def __init__(self, name):
super(Child, self).__init__()
def mousePressEvent(self, event):
pass
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句