【问题标题】:QQuickWidget touch screen pen inputQQuickWidget 触屏笔输入
【发布时间】:2020-06-15 08:04:34
【问题描述】:

我正在尝试从触摸屏(Panasonic Toughbook)获取笔或手指输入。在 qml 方面,我无法点击或点击输入。我已经尝试过使用所有指针类型和设备的 TapHandler,但它不起作用。如果我使用 QWidget(例如 QPushButton),我可以用笔单击,但 qml 不起作用。我也检查事件。我可以为 QQuickWidget 获取鼠标事件,但不适用于 qml。

import QtQuick 2.12

Item {
    id: root

    Rectangle {
        anchors.fill: parent
        color: "#bed3d4"
        focus: true

        TapHandler {
            enabled: true
            acceptedButtons: Qt.LeftButton
            onTapped: {
                console.log("Clicked")
            }
        }

        TapHandler {
            enabled: true
            acceptedPointerTypes: PointerDevice.AllPointerTypes
            acceptedDevices: PointerDevice.AllDevices
            onTapped: {
                console.log("Tapped")
            }
        }
    }
}

在此代码中,点击有效,但点击无效。

【问题讨论】:

  • 据我所知TapHandler应该附加到某个项目以填充它的边界。它在桌面上工作吗?请更新您的问题并提供minimal reproducible example

标签: qt qml qtquick2 qt-quick qtwidgets


【解决方案1】:

我发现要在 QQuickWidget 中启用触摸输入,您必须使用 setAttribute(Qt::WA_AcceptTouchEvents) 启用 WA_AcceptTouchEvents 标志。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多