QML forwards/back 鼠标按钮处理

QML forwards/back mouse buttons handling

我正在尝试让我的 QML 应用程序对某些鼠标上的 forwards/back 按钮(有时标记为按钮 4/5)做出反应。似乎鼠标 area/event 只允许三个主要鼠标按钮上的信号。

有什么方法可以在 QML 中处理这些按钮吗?

如果您查看 predefined mouse buttons you'll see that there is a ForwardButton and BackButton. The only "trick" you need to listen for these buttons in a QML MouseArea is to set the acceptedButtons 属性 的列表。

您可以将其设置为仅监听前进和后退:

acceptedButtons: Qt.ForwardButton | Qt.BackButton

或者您可以只监听任何鼠标按钮:

acceptedButtons: Qt.AllButtons

将它们放在一起,您的 MouseArea 可能看起来像这样:

MouseArea {
    acceptedButtons: Qt.AllButtons

    onClicked: {
        if (mouse.button == Qt.BackButton) {
            console.log("Back button");
        } else if (mouse.button == Qt.ForwardButton) {
            console.log("Forward button")
        }
    }
}