【发布时间】:2019-09-16 09:12:33
【问题描述】:
我有一个带有两个菜单项的 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!")
}
}
}
}
我在 macOS 10.14.4 上使用 Qt 5.12.3。
【问题讨论】:
-
在 Linux 中正常工作,因为 FileDialog 获得焦点,它可能只是 Mac OS 的一个错误,所以我建议你报告一个错误。