QML 键盘快捷键单击按钮

QML Keyboard Shortcut Click Button

我正在尝试向我的 QML 添加键盘快捷键,但我很难在不重复逻辑的情况下让它工作。下面是代码,


Controls.Button {
    id:sendAction
    Shortcut {
        sequence: "Ctrl+Return"
        onActivated: parent.trigger()
    }
    onPressed: {call function}
}


如果我重复调用该函数,键盘快捷键可以工作,但是 parent.trigger() 它会失败,触发器不是按钮的 属性。我已经尝试查找可以在快捷方式中调用哪些函数来触发父级,但文档非常简单。本质上我需要的是添加到 onActivated 中以触发 onPressed 而无需重复函数调用的内容。

你试过按下信号了吗?

激活:parent.pressed()

https://doc.qt.io/qt-5/qml-qtquick-controls2-abstractbutton.html#pressed-signal

用下面的代码解决了。

Item {
    Shortcut{
        id: sendShortcut
        sequences: ["Ctrl+Enter", "Ctrl+Return"]
        onActivated: sendAction.action.trigger()
      }

    }
Controls.Button {
    id:sendAction
    action: Controls.Action {
        onTriggered{
            call function
        }
    }
    onPressed: action.trigger()
}