Как вы назначаете элемент QML свойству компонента в QML, а затем используете этот объект внутри компонента?

Я пытаюсь создать объект QML, который действует как оболочка для других объектов. Вот мой файл QML (Container.qml):

Item {
    property string label
    property Item control

    Row {
        Label {
            text: label
        }

        // Not sure how to display the control assigned to the control property
    }
}

То, что я хотел бы сделать (в моем QML, который потребляет этот компонент), выглядит примерно так:

Container {
    label: "My Label"
    control: Textbox {
        text: "My Value"
    }
}

При загрузке этого QML результат (в интерфейсе) должен быть чем-то напоминая вывод этого QML:

Item {
    Row {
        Label {
            text: "My Label"
        }
        Textbox {
            text: "My Value"
        }
    }
}

Возможно ли это? Когда я пытаюсь сделать это, я получаю сообщение «Невозможно назначить объект свойству» при назначении элемента свойству элемента управления. Я искал форумы Qt и безжалостно гуглил, но безуспешно. Если кто-нибудь знает ответ, он будет очень признателен.

Спасибо

Джек

28
задан Jack Benson 16 February 2011 в 19:47
поделиться