如何在 QML 中处理 Stylus/Pen 输入
How to handle Stylus/Pen input in QML
我正在创建一个简单的绘图应用程序,并且想要我的应用程序处理笔(像 Apple Pencil 这样的手写笔)输入。该应用程序是用 Qml/Qt Quick 编写的。我知道在使用 QWidgets 时你可以使用 QTabletEvent
(example) 来处理数位板事件,但是我如何在 QML 中处理笔输入(使用 MouseArea
不起作用而且我没有运气PointHandler
要么)。有谁知道是否可以在 Qt Quick 中处理笔输入?
尝试使用 QML TapHandler:https://doc.qt.io/qt-5/qml-qtquick-taphandler.html
acceptedDevices: PointerDevice.Mouse | PointerDevice.Stylus
查看@Albertino80 链接的示例,我继承了 QQuickWindow
的子类 QWindow
,因此能够接收平板电脑事件(void tabletEvent(QTabletEvent* event)。然后可以将这些事件用于发出可以传播到其他 QObjects 的适当信号。此方法工作正常,但存在事件坐标不是使用它们的项目本地的问题,而是必须通过映射手动重新计算每个事件的位置自定义坐标 window.
我正在创建一个简单的绘图应用程序,并且想要我的应用程序处理笔(像 Apple Pencil 这样的手写笔)输入。该应用程序是用 Qml/Qt Quick 编写的。我知道在使用 QWidgets 时你可以使用 QTabletEvent
(example) 来处理数位板事件,但是我如何在 QML 中处理笔输入(使用 MouseArea
不起作用而且我没有运气PointHandler
要么)。有谁知道是否可以在 Qt Quick 中处理笔输入?
尝试使用 QML TapHandler:https://doc.qt.io/qt-5/qml-qtquick-taphandler.html
acceptedDevices: PointerDevice.Mouse | PointerDevice.Stylus
查看@Albertino80 链接的示例,我继承了 QQuickWindow
的子类 QWindow
,因此能够接收平板电脑事件(void tabletEvent(QTabletEvent* event)。然后可以将这些事件用于发出可以传播到其他 QObjects 的适当信号。此方法工作正常,但存在事件坐标不是使用它们的项目本地的问题,而是必须通过映射手动重新计算每个事件的位置自定义坐标 window.