Qt Quick Input Handlers

Qt Quick Input Handlers are a set of QML types used to handle events from keyboard, touch, mouse, and stylus devices in a UI. In contrast to event-handling items, such as MouseArea and Flickable, input handlers are explicitly non-visual, require less memory and are intended to be used in greater numbers: one handler instance per aspect of interaction. Each input handler instance handles certain events on behalf of its parent Item. Thus the visual and behavioral concerns are better separated, and the behavior is built up by finer-grained composition.

In Qt 5.10, these handlers were introduced in a separate Qt.labs.handlers module. Now they are included with Qt Quick since 5.12. The pre-existing Keys attached property is similar in concept, so we refer to the pointing-device-oriented handlers plus Keys together as the set of Input Handlers. We expect to offer more attached-property use cases in future versions of Qt.

Input Handlers

DragHandler

Handler for dragging

HoverHandler

Handler for mouse and tablet hover

KeyNavigation

Supports key navigation by arrow keys

Keys

Provides key handling to Items

PinchHandler

Handler for pinch gestures

PointHandler

Handler for reacting to a single touchpoint

TapHandler

Handler for taps and clicks

Key Features

Some of the key features are:

  • Handle keystrokes within the focused Item
  • Handle gestures such as tapping or dragging regardless which device it comes from
  • Handle gestures from different classes of devices in different ways
  • Each Item can have unlimited Handlers

© 2019 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.