いくつかの QGraphicItems を異なる QGraphicsItemGroups 間で移動できる PyQt QGraphicsView プロジェクトを構築しています。そのために、「新しい」親 itemGroup の addItemToGroup() メソッドを使用します。
これは正常に機能しますが、カスタムの子項目クラスで itemChange() メソッドを定義しない限りのみです。そのメソッドを定義すると (関数呼び出しをスーパー クラスに渡すだけでも)、何を試しても childItems は 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
Python でスーパークラス メソッドを適切に呼び出すには、単に愚かすぎるのでしょうか、それとも QT/PyQT マジックのどこかに問題があるのでしょうか?
私は PyQt 4.8 と QT 5 で Python 3.3 を使用しています。