Създайте компонент като член в екземпляр на обект

Имам QML компонент, наречен MyComponent, и имам негов екземпляр, както следва:

MyComponent {
    id: rightComponent

    property Component settingsScreen: SettingsScreen {}

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

SettingsScreen е друг компонент, който имам. Проблемът е, че не изглежда, че rightComponent е родител на settingsScreen. Получавам правилния резултат, когато вградя като:

MyComponent {
    id: rightComponent

    SettingsScreen {}
}

Това е добре и всичко е подредено правилно.


person Luca    schedule 04.03.2016    source източник


Отговори (1)


Можете да решите, както следва:

MyComponent {
    id: rightComponent

    SettingsScreen {
        id: settingsScreen
    }

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

Няма нужда да дефинирате ново свойство, както направихте.

person skypjack    schedule 04.03.2016
comment
Това работи, но оформлението е различно в сравнение с премахването на компонента StackView по някаква причина.... - person Luca; 05.03.2016
comment
Добре, игнорирайте последния ми коментар. Това беше нещо съвсем различно и вашият отговор реши проблемите ми. Така че благодаря :) - person Luca; 05.03.2016