1

我正在创建一个简单的绘图应用程序,并希望我的应用程序处理笔(Apple Pencil 之类的手写笔)输入。该应用程序是用 Qml/Qt Quick 编写的。我知道在使用 QWidgets 时,您可以使用QTabletEvent示例)处理平板电脑事件,但是我如何在 QML 中处理笔输入(使用MouseArea不起作用,我也没有运气PointHandler)。有谁知道是否可以在 Qt Quick 中处理 Pen 输入?

4

2 回答 2

1

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

acceptedDevices: PointerDevice.Mouse | PointerDevice.Stylus
于 2019-12-04T17:28:28.233 回答
1

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

于 2019-12-05T21:06:37.633 回答