У меня есть приложение QML с двумя пунктами меню:
- Файл / Открыть ... вызвать модальное диалоговое окно открытия файла
- Control / Up просто зарегистрируйте что-то на консоли вывода. У этого элемента есть сочетание клавиш со стрелками вверх.
Как ни странно, ярлык все еще активен, когда отображается диалоговое окно открытия файла. Это делает невозможным использование стрелки вверх для выбора данного файла, например, поскольку ярлык привязан к другому действию.
В обычном приложении-виджете Qt ярлык меню не обрабатывается, когда на экране отображается модальное диалоговое окно.
import QtQuick 2.12
import QtQuick.Window 2.12
import Qt.labs.platform 1.1
Window {
visible: true
width: 640
height: 480
title: qsTr("Hello World")
FileDialog {
id: fileDialog
}
MenuBar {
Menu {
title: qsTr("File")
MenuItem {
text: qsTr("Open")
shortcut: StandardKey.Open
onTriggered: fileDialog.open()
}
}
Menu {
title: qsTr("Control")
MenuItem {
text: qsTr("Up")
shortcut: "Up"
onTriggered: console.log("up!")
}
}
}
}
Я использую Qt 5.12.3 на macOS 10.14.4 .