模态对话框处于活动状态时,快捷方式处于活动状态

时间:2019-04-26 20:39:29

标签: macos qt qml

我有一个带有两个菜单项的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

1 个答案:

答案 0 :(得分:0)

我没有Mac,所以这是在黑暗中拍摄的镜头。您是否尝试过将注意力放在FileDialog上?

FileDialog {
   id: fileDialog
   Item {
     id: focus
   }
   onVisibleChanged: if(visible) focus.forceActiveFocus()
}

这将迫使关注FileDialog作为focus的父项。