下面我的代码的问题是,在美国/英国的键盘布局上,ln -s /usr/share/zoneinfo/Asia/Kolkata /etc/localtime
是用+
生成的,但是当用户同时使用control和shift修饰符时,shift + =
是没有产生。这已经在Mac上进行了测试。
+
由于 Keys.onPressed: {
if (event.modifiers & Qt.ControlModifier) {
if (event.key === Qt.Key_Minus) {
zoom(false)
event.accepted = true
} else if (event.key === Qt.Key_Plus) {
zoom(true)
event.accepted = true
}
}
}
和control + +
是放大应用程序的标准快捷方式,因此我相信其他人已经解决了这个问题。但是如何?
答案 0 :(得分:2)
使用Shortcut
及其sequence
property代替Key.onPressed
:
Shortcut {
sequence: StandardKey.ZoomIn
onActivated: zoom(true)
}
QKeySequence文档的this section中提到了您的问题。
答案 1 :(得分:0)
您必须使用Qt.ShiftModifier
对shift
键做出反应:
Item {
focus: true
Keys.onPressed: {
if ((event.key == Qt.Key_Plus) && (event.modifiers & Qt.ShiftModifier))
console.log("PRessed");
}
}