C++ APIには、QEvent
とそれに由来する複数の他のクラス(QMouseEvent
、など)があります。一方、QMLにはイベントがあります。しかし、私はQMLで直接C++イベントを処理する洗練された方法を見つけるのに苦労しています。QMLコンテキストでのQt C++イベントの処理
は通常、私は何をすべきか、私はカスタムQQuickWidget
(またはQQmlEngine
を含む類似した)、QWidget::event(QEvent* event)
を上書きを作成し、そのウィジェットを使ってロードされているQMLコードでQMLスロットへの信号を通じて、私はそれを伝播する特定のC++のイベントを受信したときです。これはたくさんの作業のようですが、C++コンテキストから来るイベントのためのQMLビルトインイベント処理があるかどうか疑問に思っています。
特に、私はQGestureEvent
をQMLで扱いたいと思っていますが、このタイプのイベントにはどのようなタイプのイベントも動作するはずです。
[MultiPointTouchArea](http://doc.qt.io/qt-5/qml-qtquick-multipointtoucharea.html)を使用してみましたか?おそらくあなたのニーズに答えることができるシグナル 'gestureStarted(GestureEvent gesture) 'を持っています。 – dydil
実際にはC++コンテキストから来ているジェスチャーイベントをキャプチャしたいと思っています。たとえば、デバイスからのデータ(C++の手段でしかアクセスできない)をQtのジェスチャーAPIにマッピングして、それをアプリケーションのQML部分に渡す場合です。 Kinectデバイスを使用してジェスチャーを行うなど、リモートで接続することさえできない場合もあります。 – rbaleksandar
"これはたくさんの仕事のようです" - QMLのC++イベント処理を実装するために必要な作業量に比べて、文字通り**何もありません**。 – dtech