小编Chr*_*ner的帖子

如果定义了 itemchange() 则无法将项目添加到项目组 (PyQt)

我正在构建一个 PyQt QGraphicsView 项目,其中一些 QGraphicItems 可以在不同的 QGraphicsItemGroups 之间移动。为此,我使用“新”父项组的 addItemToGroup() 方法。

这工作正常,但前提是我没有在自定义子项类中定义 itemChange() 方法。一旦我定义了该方法(即使我只是将函数调用传递给超类),无论我如何尝试,子项都不会添加到 ItemGroups 中。

class MyChildItem(QtGui.QGraphicsItemGroup):
    def itemChange(self, change, value):
        # TODO: Do something for certain cases of ItemPositionChange
        return QtGui.QGraphicsItemGroup.itemChange(self, change, value)
        #return super().itemChange(change, value)   # Tried this variation too
        #return value   # Tried this too, should work according to QT doc
Run Code Online (Sandbox Code Playgroud)

我是否太愚蠢而无法在Python中正确调用超类方法,或者问题出在QT / PyQT魔法中的某个地方?

我使用 Python 3.3 以及 PyQt 4.8 和 QT 5。

python qt pyqt itemgroup

5
推荐指数
1
解决办法
459
查看次数

标签 统计

itemgroup ×1

pyqt ×1

python ×1

qt ×1