2014-10-16 3 views
0

Для QGraphicsItem (у меня есть подкласс класса этого QGraphicsItem), есть встроенный метод mouseReleaseEvent, и он является закрытым. На данный момент это используется для создания графического элемента для панорамирования и для обновления позиции (встроенная функция). Я хочу добавить дополнительные функции, например, распечатать позицию, в которой он выпущен, и некоторые другие утверждения. Как мне это достичь?Добавление дополнительных операций к mouseReleaseEvent

ответ

0

Насколько я могу судить, QGraphicsItem.mouseReleaseEvent() можно переопределить в обычной усадьбе (я забыл много терминов на языке C++, но, насколько я вижу из документации, метод фактически не является приватным, только защищенный)

class MyQGraphicsItem(QGraphicsItem): 
    .... 

    def mouseReleaseEvent(self, event): 
     # your code here 

     # call the base class implementation if you want the standard behaviour to still happen 
     return QGraphicsItem.mouseReleaseEvent(self, event) 
+0

спасибо за исправление ... относительно частного. – password

+1

Я пытался с eventFilters (if event.type() == QtCore.QEvent.MouseMove :), пока я не узнаю, использование возвращаемого утверждения, упомянутого в вашем ответе .. awesome ... пропустил простую вещь. – password

+0

Рад, что я мог помочь! –

Смежные вопросы