Russian Qt Forum

Qt => Qt Quick => Тема начата: chu от Ноябрь 16, 2011, 02:44



Название: Динамическое создание объектов
Отправлено: chu от Ноябрь 16, 2011, 02:44
В main.qml динамически создаю объекты SceneItem.qml :
Код:
    function createSceneItem(xPos, yPos, scaleFactor) {
        console.log("function emited", xPos, yPos, scaleFactor)
        var component = Qt.createComponent("SceneItem.qml")
        var object = component.createObject(root)
        object.x = xPos
        object.y = yPos
        object.scale = scaleFactor
    }
Как передать значения пользовательским свойствам создаваемого объекта и свойствам его составных элементов?
Например, SceneItem  имеет следующий вид:
Код:
import QtQuick 1.0
Item {
    id: sceneItem
    width: 300; height: 100
    property int number: 0

    Rectangle{
        id: back
        anchors.fill: parent
        color: "lightgray"
    }

    TextEdit{
        id: itemText
        text: "new item"
    }
Как при создании объекта  указать значение его свойства number и, например, свойства text у itemText


Название: Re: Динамическое создание объектов
Отправлено: twp от Ноябрь 16, 2011, 15:09
number также как и остальные свойства:
Код:
object.number = ...
а вот для второго случая нужно добавить альяс в SceneItem, ссылающийся на  text.itemText


Название: Re: Динамическое создание объектов
Отправлено: Ubuntu_linux от Ноябрь 17, 2011, 03:15
Код
C++ (Qt)
var component = Qt.createComponent("SceneItem.qml",{number:10})


Название: Re: Динамическое создание объектов
Отправлено: twp от Ноябрь 17, 2011, 13:01
Код
C++ (Qt)
var component = Qt.createComponent("SceneItem.qml",{number:10})
и что, так работает? может имелось ввиду это
Код
C++ (Qt)
var object = Qt.createObject(component,{number:10})


Название: Re: Динамическое создание объектов
Отправлено: chu от Ноябрь 18, 2011, 12:17
Спасибо за ответы, разобрался :)