赞
踩
- import QtQuick 2.0
- import QtQuick.Window 2.0
- import QtQuick.Controls 1.4
-
- Window {
- width: 800
- height: 600
- visible: true
-
- Rectangle {
- id: mainRect
- anchors.fill: parent
- property var mainRectComponent: null
-
- Column {
- id: mainColumn
- spacing: 5
-
- width: parent.width
- property var count: 0
-
- function deleteItems(object) {
- object.destroy()
- }
-
- function createItem() {
- var color = 'red'
- if (mainColumn.count % 3 === 1)
- color = 'yellow'
- else if (mainColumn.count % 3 === 2)
- color = 'blue'
- mainColumn.count++
-
- // 创建一个组件
- var obj = itemCompont.createObject(mainColumn, {color: color, width: mainRect.width,height:100})
- //obj.setCurentObject(obj)
- obj.val++
- obj.setCurrentText('Component' + mainColumn.count.toString()+ " : "+obj.val)
- obj.deleteThis.connect(mainColumn.deleteItems)
- }
- }
-
- Button {
- anchors.top: mainColumn.bottom
- anchors.topMargin: 10
- anchors.right: mainRect.right
- anchors.rightMargin: 10
- text: '添加'
-
- onClicked: {
- mainColumn.createItem()
- }
- }
-
- Component {
- id: itemCompont
- Rectangle {
- id: compontRect
- color: 'blue'
- implicitWidth: 20
- implicitHeight: 50
- property var currentObject: ''
- property int val: 5
-
- signal deleteThis(var obj)
-
- // 设置文字的内容
- function setCurrentText(textName) {
- interText.text = textName
- }
-
- Text {
- id: interText
- anchors.left: parent.left
- anchors.leftMargin: 10
- anchors.verticalCenter: parent.verticalCenter
- text: qsTr("text")
- }
- Button {
- anchors.margins: 5
- anchors.top: parent.top
- anchors.bottom: parent.bottom
- anchors.right: parent.right
- text: '删除'
-
- onClicked: {
- compontRect.deleteThis(compontRect)
- }
- }
-
- Component.onCompleted: {
- compontRect.currentObject = parent
- }
- }
- }
- }
- }
运行效果:
FR:徐海涛(hunkxu)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。