如何在QML中处理手写笔/笔输入

时间:2019-12-04 17:23:37

标签: qt qml touch stylus-pen

我正在创建一个简单的绘图应用程序,并希望我的应用程序处理笔(像Apple Pencil这样的手写笔)输入。该应用程序是用Qml / Qt Quick编写的。我知道,使用QWidgets时,您可以使用QTabletEventexample)处理数位板事件,但是我如何处理QML中的笔输入(使用MouseArea却行不通, PointHandler)。有谁知道是否可以在Qt Quick中处理笔输入?

2 个答案:

答案 0 :(得分:0)

尝试使用QML TapHandler:https://doc.qt.io/qt-5/qml-qtquick-taphandler.html

acceptedDevices: PointerDevice.Mouse | PointerDevice.Stylus

答案 1 :(得分:0)

以@ Albertino80链接的示例为例,我将QQuickWindow继承为QWindow的子类,因此能够接收平板电脑事件(void tabletEvent(QTabletEvent *事件)。这些事件可用于发出可以传播给其他QObject的适当信号。此方法可以正常工作,但问题是事件坐标不是消耗它们的项目的局部坐标,而是必须通过映射坐标来手动重新计算每个事件的位置进入自定义窗口。