在对象实例中创建组件作为成员

时间:2016-03-04 21:54:55

标签: qml qt5 qtquick2

我有一个名为MyComponent的QML组件,我有一个如下实例:

MyComponent {
    id: rightComponent

    property Component settingsScreen: SettingsScreen {}

    StackView {
        id: settingsStack
        anchors.fill: parent
        initialItem: rightComponent.settingsScreen
    }
}

SettingsScreen是我拥有的另一个组件。问题是,rightComponent似乎不是settingsScreen的父级。当我嵌入时,我得到了正确的结果:

MyComponent {
    id: rightComponent

    SettingsScreen {}
}

这很好,一切都正确布局。

1 个答案:

答案 0 :(得分:2)

您可以按照以下方式解决:

MyComponent {
    id: rightComponent

    SettingsScreen {
        id: settingsScreen
    }

    StackView {
        id: settingsStack
        anchors.fill: parent
        initialItem: settingsScreen
    }
}

无需像您一样定义新属性。