Can qml signal parameter MouseEvent be mapped to C++ class?
I've a qml signal with MouseEvent as parameter, for example, 'clicked(var mouse)'，and mouse is passed from MouseArea::onClicked(MouseEvent mouse).
I tried to connect this signal to some slot in c++ like this,
When linking, qtcreator complains that No such signal in qmlObj.
I wonder whether qml MouseEvent can be mapped to c++ class QmouseEvent, or perhaps I missed something here?
MouseEvent from QML is QQuickMouseEvent, not QMouseEvent. It's a private class though, and I'm not sure if it's meant to be used in C++.
What are you trying to do?
I want to connect qml mouseevent signal to c++ slot in my c++ code. so that i can process logical staff related to qml mouse event in c++.
Since QMouseEvent is not correct and QQuickMouseEvent is private， I've to define a new QObject-derived class samiliar to QMouseEvent/QQuickMouseEvent and register it to qml context. Is this right?
I don't think that will work if you use a custom event class.
Why not use the arguments you need from the mouse event and only pass those to the c++ slot? e.g. only the position x/y as qreal or whatever you need from the event.
Yes， you're right. I've done like what you suggested. It works. Thank u.