我正在尝试在应用程序中实现缩放。用户应该能够使用control + plus/minus
进行缩放。
我希望这个工作
这就是我试图解决问题的方式
Keys.onPressed: {
if (event.modifiers & Qt.ControlModifier) {
var zoomX = event.modifiers & Qt.AltModifier ? false : true
if (event.key === Qt.Key_Minus) {
zoom(false, zoomX)
event.accepted = true
} else if (event.key === Qt.Key_Plus) {
zoom(true, zoomX)
event.accepted = true
}
}
}
但这还不够好。
当我在具有英文键盘布局的Mac上按shift + equal sign
时,event.key == 43 && event.key == Qt.Key_Plus
。一切都很好。
但是当我在同一键盘上按command + shift + equal sign
时,event.key == 61 && event.key == Qt.Key_Equal
。换句话说,控制修饰符会覆盖Shift键,并且不再注册plus,并且不会调用缩放功能。
我尝试通过添加等号作为替代event.key来解决此问题,以进行放大。但这无法解决其他键盘布局上的问题,因为加号可以与其他字符共享一个键。
感觉就像我缺少拼图的某些部分。我想念什么?我该如何解决这个问题?