Я строю проект PyQt QGraphicsView, где некоторые QGraphicItems могут перемещаться между различными QGraphicsItemGroups. Для этого я использую метод addItemToGroup() для «новой» родительской группы элементов.Невозможно добавить элемент в itemgroups, если itemchange() определен (PyQt)
Это работает нормально, но только до тех пор, пока я не определяю метод 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
Am Я просто слишком глуп для правильного вызова метода суперкласса в Python, или проблема где-то в магии QT/PyQt?
Я использую Python 3.3 с PyQt 4.8 и QT 5.
Hi Henry, Большое спасибо за ваш ответ и ваши усилия. К сожалению, полезные почтовые рассылки были опубликованы с августа 2013 года, когда мои PyQT уже были завершены (используя уродливые обходные пути, чтобы вообще избежать проблемной ситуации). В любом случае, я попытаюсь снова запустить старый материал, чтобы проверить, помогло ли ваше решение ... :-) Еще раз спасибо за обмен! –