模态窗口不起作用

时间:2017-05-09 13:03:03

标签: qt modal-dialog qml qtquick2

我在QML有一个主窗口,当我在button点击时,我想要modal window可以弹出。

我试过这个但是it is not working并且我不明白为什么:

Rectangle {
    id: root

    ...

    Button {
        onClicked: {
            var factory = Qt.createComponent( "DialogWindow.qml" );
            var dialog = factory.createObject(root);
            dialog.show();
        }
   }
}

main.qml

Window { //I also tried "Dialog"
    height: 240
    width: 320
    title: qsTr( "Popup" )
    visible: true
    modality: 1

    ListView{
        //My stuff
    }
}

DialogWindow.qml

这是错误:

TypeError: Cannot call method 'show' of null

我做错了什么?

1 个答案:

答案 0 :(得分:1)

如果您阅读了modal的合理文档,那么

  

可能的值是Qt.NonModal(默认值),Qt.WindowModal和   Qt.ApplicationModal。

那么为什么不使用它们而不是0或1个硬编码?

modality: Qt.ApplicationModal