组件未就绪无法将对象分配给属性

时间:2018-04-23 16:04:13

标签: qt qml components qtquickcontrols2 stackview

我有一个继承自QObject的{​​{1}}的c ++类,其名称为LoginManager(我在qmlRegisterTypes文件中注册了main.qml

LoginManager{
    id: loginManager
}

现在我想将LoginPage.qml文件添加到StackView

sv.push("/pages/LoginPage.qml",{lManager:loginManager});

LoginPage

Page {
    id: root
    property LoginManager lManager

    Connections{
        target: lManager

        onMessageChanged: {
        }
        onLoginSuccessed: {
        }
    }
}

但点击按钮将LoginPage.qml添加到StackView

时出现错误
  

QmlComponent:组件尚未就绪   qrc:/main.qml:395:5:QML StackView:push:qrc:/pages/LoginPage.qml:16无法将对象分配给属性

我在其他页面上做了同样的工作,但我不知道为什么我在这里遇到错误?

修改

当我评论Connections时,错误就会消失!

1 个答案:

答案 0 :(得分:-2)

您使用绝对网址指向您的登录页面组件。尝试将其设为 relative

sv.push("./pages/LoginPage.qml",{lManager:loginManager});

这应该可以解决问题。