Вот я делаю так: graphicsscene.h
| Код | #ifndef GRAPHICSSCENE_H #define GRAPHICSSCENE_H
#include <QGraphicsScene> #include <QDebug>
class GraphicsScene : public QGraphicsScene { Q_OBJECT public: explicit GraphicsScene(QObject *parent = 0); virtual ~GraphicsScene(); protected: void mousePressEvent(); void mouseDoubleClickEvent(); void mouseMoveEvent(); void mouseReleaseEvent();
signals: void pressed(); void doubleClicked(); void mouseMoved(); void released(); public slots:
};
#endif // GRAPHICSSCENE_H
|
graphicsscene.cpp
| Код | #include "graphicsscene.h"
GraphicsScene::GraphicsScene(QObject *parent) : QGraphicsScene(parent) { } void GraphicsScene::mousePressEvent() { qDebug() << "mouse pressed"; emit pressed(); }
void GraphicsScene::mouseDoubleClickEvent() { qDebug() << "mouse double clicked"; emit doubleClicked(); }
void GraphicsScene::mouseMoveEvent() { qDebug() << "mouse moved"; emit mouseMoved(); }
void GraphicsScene::mouseReleaseEvent() { qDebug() << "mouse relaeased"; emit released(); }
|
Но когда я нажимаю по graphicsView(сцену установил) в debug не выводится "mouse pressed". Я подозреваю, что у меня что-то не то с головой, объясните, пожалуйста, как правильно? |