Я хотел бы получить события нажатия мыши на QPixmap в Qt. Я попытался его подкласса с помощью:Подклассификация QPixmap
class CustomPixmap : public QPixmap
{
Q_OBJECT
public:
CustomPixmap(QPaintDevice *parent = NULL);
~CustomPixmap() {};
protected:
void mousePressEvent(QMouseEvent *event);
};
Но он не компилируется из-за ошибки
./moc_output/moc_customPixmap.cpp:52:8: error: no member named
'staticMetaObject' in 'QPixmap'; did you mean simply 'staticMetaObject'?
Принимая Q_OBJECT из компилируется нормально, но mousePressEvent не называется. Как я могу правильно подклассифицировать QPixmap для получения событий нажатия мыши?
Спасибо; Так конкретно, как связать мой QPixmap с QWidget? –
Добавление Pixmap в мою QGraphicsScene дает мне QGraphicsPixmapItem. Это тот, на котором я должен перехватывать события мыши? Если да, то как, спасибо. –
Переопределите метод QGraphicsItem :: mousePressEvent (QGraphicsSceneMousePressEvent *). http://doc.qt.io/qt-4.8/qgraphicsitem.html#mousePressEvent –