qt - Get mouse position in child QGraphicsScene -


in qt5, have main window scene:

mywindow::mywindow(qwidget *parent) : qmainwindow(parent) {     view = new qgraphicsview();     scene = new qgraphicsscene();     scene->installeventfilter(this);     view->setscene(scene);     ...     setcentralwidget(view); } 

view , scene both private members of mywindow. i want know, in mywindow class, mouse position when click on scene. that's why use installeventfilter above. , have tried catch event this:

bool mywindow::eventfilter(qobject *target, qevent *event) {     if (target == scene)     {         if (event->type() == qevent::graphicsscenemousepress)         {             const qgraphicsscenemouseevent* const me = static_cast<const qgraphicsscenemouseevent*>(event);             const qpointf position = me->pos();             cout << position.x() << "," << position.y() << endl;         }     }     return qmainwindow::eventfilter(target, event); } 

this code not work expected: position prints when click on scene 0,0. clue wrong?

qgraphicsscenemouseevent.pos() returns position in coordinates of item on clicked. scene has no items returns (0,0). if want position in scene coordinates use scenepos().

const qpointf position = me->scenepos(); 

Comments

Popular posts from this blog

php - Wordpress website dashboard page or post editor content is not showing but front end data is showing properly -

javascript - Get parameter of GET request -

javascript - Twitter Bootstrap - how to add some more margin between tooltip popup and element -