如何让用户使用Control + +进行放大和Control +-进行缩小?

时间:2018-12-14 08:26:31

标签: qt qml

下面我的代码的问题是,在美国/英国的键盘布局上,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 + +是放大应用程序的标准快捷方式,因此我相信其他人已经解决了这个问题。但是如何?

2 个答案:

答案 0 :(得分:2)

使用Shortcut及其sequence property代替Key.onPressed

Shortcut {
    sequence: StandardKey.ZoomIn
    onActivated: zoom(true)
}

QKeySequence文档的this section中提到了您的问题。

答案 1 :(得分:0)

您必须使用Qt.ShiftModifiershift键做出反应:

Item {
    focus: true
    Keys.onPressed: {
        if ((event.key == Qt.Key_Plus) && (event.modifiers & Qt.ShiftModifier))
            console.log("PRessed");
    }
}