Qt QML StackView显示无法递归推/弹出的错误

Qt QML StackView显示无法递归推/弹出的错误,qt,qml,push,stackview,Qt,Qml,Push,Stackview,我有两个QML文件 级别1.qml和级别2.qml 在main.qml中 StackView { id: idMyStackView focus: true anchors.fill: parent initialItem: Level1{ focus: true } } 在Level1.qml中 Component.onCompleted:

我有两个QML文件

级别1.qml和级别2.qml

在main.qml中

    StackView {
        id: idMyStackView
        focus: true
        anchors.fill: parent
        initialItem: Level1{
                focus: true
            }
    }
在Level1.qml中

    Component.onCompleted:
    {
        idMyStackView.push(idLevel2.qml)
    }
在这种情况下,我得到的错误如下

W](file:///C:/Qt/5.13.0/msvc2017/qml/QtQuick/Controls/StackView.qml:790)警告:StackView:您不能递归推/弹出! [丁](file:///C:/Qt/5.13.0/msvc2017/qml/QtQuick/Controls/StackView.qml:791)递归保护(file:///C:/Qt/5.13.0/msvc2017/qml/QtQuick/Controls/StackView.qml:791) 推(file:///C:/Qt/5.13.0/msvc2017/qml/QtQuick/Controls/StackView.qml:568) 未完成(qrc:/setup/qml/setup\u菜单/setup\u top/SetupTop.qml:250) __负荷元件(file:///C:/Qt/5.13.0/msvc2017/qml/QtQuick/Controls/StackView.qml:825) __表演转换(file:///C:/Qt/5.13.0/msvc2017/qml/QtQuick/Controls/StackView.qml:911) 推(file:///C:/Qt/5.13.0/msvc2017/qml/QtQuick/Controls/StackView.qml:605) 未完成表达式(file:///C:/Qt/5.13.0/msvc2017/qml/QtQuick/Controls/StackView.qml:777)


为什么在推第一个项目的过程中,你要推堆栈上的第二个项目?在某些特殊情况下,我需要将Level 2推到Level 1的顶部。Level2与level1有一些依赖关系。因此,如果您尝试在main.qml中调用idMyStackView.push(idLevel2.qml)而不是Level1,“level2与Level1有一些依赖关系”,则不可能只推level2,这听起来像是设计缺陷。