我的qt版本是5.13.2,无法正确使用keyboardModifiers,给出的报错信息是ReferenceError: keyboardModifiers is not defined,报错程序是import QtQuick 2.12 import QtQuick.Window 2.12 Window { visible: true width: 640 height: 480 title: qsTr("Hello World") Rectangle { width: 200 height: 200 color: "lightgray" Text { text: "Press and hold the Shift key" anchors.centerIn: parent } Rectangle { width: 100 height: 100 color: "red" MouseArea { anchors.fill: parent onClicked: { if (QkeyboardModifiers & Qt.ShiftModifier) { console.log("Shift key is pressed") } else { console.log("Shift key is not pressed") } } } } } }
时间: 2024-02-10 07:17:34 浏览: 81
qt 5.13.2和5.15.2的mysql驱动
5星 · 资源好评率100%
看起来你在使用QkeyboardModifiers时打错了名称,正确的名称是keyboardModifiers。
请尝试将QkeyboardModifiers更改为keyboardModifiers,如下所示:
```
import QtQuick 2.12
import QtQuick.Window 2.12
Window {
visible: true
width: 640
height: 480
title: qsTr("Hello World")
Rectangle {
width: 200
height: 200
color: "lightgray"
Text {
text: "Press and hold the Shift key"
anchors.centerIn: parent
}
Rectangle {
width: 100
height: 100
color: "red"
MouseArea {
anchors.fill: parent
onClicked: {
if (keyboardModifiers & Qt.ShiftModifier) {
console.log("Shift key is pressed")
} else {
console.log("Shift key is not pressed")
}
}
}
}
}
}
```
注意,这个属性只在事件处理程序中可用,因此你需要在onClick事件处理程序中使用它。
如果你仍然无法正确使用keyboardModifiers,请确保你的
阅读全文