首页 > 解决方案 > QML StackView 显示错误您不能递归推送/弹出

问题描述

我有两个 QML 文件

Level1.qml 和 level2.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:您不能递归推送/弹出![D] (file:///C:/Qt/5.13.0/msvc2017/qml/QtQuick/Controls/StackView.qml:791) __recursionGuard (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) onCompleted (qrc:/setup/qml /setup_menu/setup_top/SetupTop.qml:250) __loadElement (file:///C:/Qt/5.13.0/msvc2017/qml/QtQuick/Controls/StackView.qml:825) __performTransition (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 ) onCompleted 的表达式 (file:///C:/Qt/5.13.0/msvc2017/qml/QtQuick/Controls/StackView.qml:777)

标签: qtqmlpushstackview

解决方案


推荐阅读