import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Controls 2.12
Window {
id:window
visible: true
width: 640
height: 480
title: qsTr("Hello World")
MouseArea{
id:mouse
anchors.fill: parent
property var obj_new
property var obj_new_2
property var color: "red"
Component.onCompleted:{
//动态创建对象方法1
obj_new = Qt.createQmlObject('import QtQuick 2.12;Rectangle{width: 20;height: 20;color: "%1"}'.arg("red"),window)
Qt.createQmlObject('import QtQuick 2.12;Binding{target:mouse.obj_new ; property: "color";value: mouse.color;}',obj_new);
//动态创建对象方法2
var com_new = Qt.createComponent("Test.qml")
obj_new_2=com_new.createObject(window)
}
}
Button{
text: "修改颜色"
x:200
onClicked: mouse.color ="gray";
}
Button{
text: "销毁对象"
x:400
onClicked: {
mouse.obj_new.destroy();
mouse.obj_new_2.destroy();
destroy()
}
}
}
QML 动态创建对象方法
于 2023-06-04 16:04:10 首次发布