QML类型说明-Instantiator

来源:互联网 发布:书法大师软件下载 编辑:程序博客网 时间:2024/05/22 18:21

Instantiator

ImportStatement:   import QtQml 2.2

 

Properties

active :bool

asynchronous: bool

count : int

delegate :QtQml::Component

model : variant

object :QtQml::QtObject

 

Signals

objectAdded(intindex, QtObject object)

objectRemoved(intindex, QtObject object)

 

DetailedDescription

Instantiator能用来控制动态的创建对象或动态的为一个模板创建多个对象。

Instantiator管理对象的创建。这些对象以Instantiator为父,如果Instantiator的属性变化,创建的对象可以被Instantiator删除。对象也可以通过其它方式动态摧毁,同时Instantiator不会重新创建它们,除非Instantiator的属性发生变化。

 

PropertyDocumentation

active :bool

为真,同时delegate组件准备好,Instantiator将根据model创建对象。当active为假,没有对象被创建,同时预先创建的对象被摧毁。默认为真。

 

asynchronous: bool

为真,则Instantiator企图异步创建对象。这意味着对象可能不是立刻可用,即使active为真。我们可以使用objectAdded去响应对象的创建。默认为假。

 

count : int

Instantiator当前管理的对象的数目。

 

defaultdelegate: QtQml::Component

用来创建所有对象的组件。

注意额外的变量index,它在在delegate的实例内部是可用的。这个变量指明了Instantiator内部实例的索引,可用itemAt方法通过它获取对象。如果这个属性改变,所有旧delegate创建的实例被摧毁,新delegate将被用来创建新实例。

 

model :variant

任何支持数据模型的项。

一个表明delegates的数量的数字通过重复模型(例如ListModel或QAbstractItemModel子类)、一个字符串列表、一个对象列表创建。模型的类型影响暴露给delegate的属性。默认为1,创建一个delegate实例。

 

object :QtQml::QtObject

创建的第一个对象的引用。目的是为仅仅一个对象被创建的情况下提供方便。

 

SignalDocumentation

objectAdded(intindex, QtObject object)

当一个对象被添加到Instantiator时,这个信号被发射。index参数保存对象的索引,object参数保存被添加的QtObject对象。

 

objectRemoved(intindex, QtObject object)

当对象从Instantiator移除时,这个信号被发射。index参数保存被移除的对象的索引。object参数保存被移除的对象。

不要为Instantiator创建的对象保持一个引用。因为在信号处理之后,它很快会被删除。
0 0
原创粉丝点击