繁体   English   中英

对话框将在其父级中禁用快捷方式?

[英]Dialog will disable Shortcut in it's parent?

我的 main.qml 文件中有一个对话框,问题是当我单击菜单打开对话框时,关闭对话框后, Shortcut不再起作用。

main.qml

ApplicationWindow {
    id:mainWindow

    Shortcut {
        id:backShortcut
        sequences: ["Esc", "Back"]
        onActivated: {
            console.log("Back In MainPage")
            if(sv.depth>1)
            {
                sv.pop();
            }
            else if(drawer.visible){
                drawer.close();
            }
            else{
                exitDialog.open();
            }
        }
    }

    MenuItem{
        contentItem: Text {
              text: qsTr("Open Dialog")
        }
        onClicked: {
              var c= myDialogCom.createObject(mainWindow);
              c.open();
        }
    }

    Component{
        id:myDialogCom
        MyDialog{
        }
    }
}

MyDialog.qml


Dialog {
    id: root

    parent: Overlay.overlay
    x:0
    height: mainWindow.height
    width:mainWindow.width

    header: ToolBar{
    }

    StackView{
    }

}

编辑我想提一下,我已经总结了我的问题以便更快地理解。但是我在不同的页面中有多个Shortcut ,例如:(ChatsPage.qm and ChatPage.qml and main.qml) 但我试图提问很简单,所以我只是说main.qml中的Shortcut ,因为问题还存在

我将Shortcutcontext属性更改为Qt.ApplicationShortcut 。现在它可以工作了。但我不知道为什么 :> ,如果每个人都解释一下

Shortcut {
        id:backShortcut
        sequences: ["Esc", "Back"]
        context: Qt.ApplicationShortcut
        onActivated: {
            console.log("Back In MainPage")
            if(sv.depth>1)
            {
                sv.pop();
            }
            else if(drawer.visible){
                drawer.close();
            }
            else{
                exitDialog.open();
            }
        }
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM