Qt QML StackView显示无法递归推/弹出的错误
我有两个QML文件 级别1.qml和级别2.qml 在main.qml中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:
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,这听起来像是设计缺陷。