QML BusyIndi​​cator如何覆盖当前window,就像Android中的ProgressDialog

QML BusyIndicator how to overlay the current window, like ProgressDialog in Android

当用户登录或在页面中加载数据或类似的东西时,我正在使用 QML Busyindicator,我希望能够使 busyindicator 覆盖当前 window 并使 window 不可编辑,当它显示并禁用所有 Window 时类似于消息框,所以在加载完成之前我无法与此 window 上的小部件交互,类似于 [=19 中的 ProgressDialog =].

这是我的代码和我尝试做的事情,我也尝试使用 MessageDialog 并在其中使用此指示器并删除所有按钮,但它不起作用。

Popup {
    id: waitpop
    width: 100
    height: 100
    BusyIndicator {
        id: login_progress
        running: true
        anchors.fill: parent
    }
    anchors.centerIn: Overlay.overlay
    closePolicy: Popup.NoAutoClose
}

此代码显示忙碌指示器,但用户仍然可以与按钮和文本字段以及所有内容进行交互,所以有什么想法吗?

modal 属性 阻止您在弹出窗口外单击。

Popup {
    anchors.centerIn: Overlay.overlay
    closePolicy: Popup.NoAutoClose
    modal: true

    BusyIndicator {
        running: true
    }
}