Dinamikusan szeretnék objektumokat hozzáadni a qml Column
elrendezéshez, de nem tudom, hogyan kell ezt megtenni.
Tehát egyszerű példaként tegyük fel, hogy az első téglalap megnyomásával új objektumot kell hozzáadnunk az oszlophoz. Másik kettő csak némi kötetért.
Itt van néhány kód:
import QtQuick 2.9
import QtQuick.Window 2.2
ApplicationWindow {
width: 360
height: 360
visible: true
id: root
Item {
id: itemRef
width: 310; height: 170
Column {
id: columnRef
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter
spacing: 5
Rectangle { color: "lightblue"; radius: 10.0
width: 300; height: 50
Text { anchors.centerIn: parent
font.pointSize: 24; text: "Press me" }
MouseArea{
anchors.fill: parent
onClicked: {
var component = Qt.createComponent("Sprite.qml");
if (component.status === Component.Ready){
sprite = component.createObject(columnRef);
}
}
}
}
Rectangle { color: "gold"; radius: 10.0
width: 300; height: 50
Text { anchors.centerIn: parent
font.pointSize: 24; text: "1" } }
Rectangle { color: "lightgreen"; radius: 10.0
width: 300; height: 50
Text { anchors.centerIn: parent
font.pointSize: 24; text: "2" } }
}
}
}
A Sprite.qml pedig csak:
import QtQuick 2.9
Item {
Rectangle { width: 300; height: 50; color: "red" }
}
Nem szeretném a listmodel
és listview
használatával elkészíteni. Van egyszerű módja annak, hogy qml fájlból elemet hozzon létre, majd hozzáadja az oszlophoz?
Item
ezen a ponton .. Már összezavarodtál vele. 03.06.2018