在实际使用中,经常会遇到很多个一模一样控件创建,如输入框、按钮、状态展示图标等
如果每个控件到单独创建,篇幅较大,重复代码较多,因此,批量动态创建能节约我们开发时间,利于维护
1、动态创建控件
Qt.createComponent(“filename.qml”),此处是加载要创建控件的.qml文件。
如:var component = Qt.createComponent(“InputText.qml”);
object createObject(parent, object properties),开始创建,返回实例对象。参数为父类,和属性表
var input = component.createObject(testGrid,{“text”:1,“color”:“red”});
// testGrid布局作为父类,
2、main.qml代码如下:
import QtQuick 2.6
import QtQuick.Window 2.2
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.3
import QtQuick.Controls 1.4 as Controls14
Window {
id: root
y:50
x:50
property var strList:new Array // 所有控件的提示字符串放在了全局,实际使用可不用
property var inputList:new Array // 所有输入框,放置数组,方便取数据
visible: true
width: 1000
height: 600
title: qsTr("Hello World")