Instantiator QML Type
객체를 동적으로 생성합니다. 더 보기...
| Import Statement: | import QtQml.Models |
속성
- active : bool
- asynchronous : bool
- count : int
- delegate : QtQml::Component
- delegateModelAccess : enumeration
(since 6.10) - model : variant
- object : QtObject
신호
- objectAdded(int index, QtObject object)
- objectRemoved(int index, QtObject object)
방법
- QtObject objectAt(int index)
상세 설명
Instantiator는 객체의 동적 생성을 제어하거나 템플릿을 기반으로 여러 객체를 동적으로 생성하는 데 사용할 수 있습니다.
Instantiator 요소는 생성한 객체들을 관리합니다. 이러한 객체들은 Instantiator의 자식 객체로 등록되며, Instantiator의 속성이 변경될 경우 Instantiator에 의해 삭제될 수도 있습니다. 객체는 다른 방법을 통해 동적으로 소멸될 수도 있으며, Instantiator의 속성이 변경되지 않는 한 Instantiator는 해당 객체를 다시 생성하지 않습니다.
참고: Instantiator는 버전 2.14부터 QtQml.Models의 일부이며, 버전 2.1부터 QtQml 의 일부입니다. QtQml 를 통해 Instantiator를 임포트하는 방법은 Qt 5.14부터 더 이상 권장되지 않습니다.
속성 문서
active : bool
active가 true이고 델리게이트 컴포넌트가 준비된 상태일 때, Instantiator는 모델에 따라 객체를 생성합니다. active가 false일 경우 객체가 생성되지 않으며, 이전에 생성된 객체는 모두 소멸됩니다.
기본값은 true입니다.
asynchronous : bool
asynchronous가 true인 경우, Instantiator는 객체를 비동기적으로 생성하려고 시도합니다. 즉, active가 true로 설정되어 있더라도 객체를 즉시 사용할 수 없을 수도 있습니다.
objectAdded 신호를 사용하여 객체가 생성되는 시점에 대응할 수 있습니다.
기본값은 false입니다.
count : int [read-only]
Instantiator가 현재 관리하고 있는 객체의 수입니다.
delegate : QtQml::Component [default]
모든 객체를 생성하는 데 사용되는 컴포넌트입니다.
델리게이트 인스턴스 내부에서는 ‘index’라는 추가 변수를 사용할 수 있다는 점에 유의하십시오. 이 변수는 Instantiator 내에서의 인스턴스 인덱스를 가리키며, Instantiator의 ` objectAt ` 메서드를 통해 객체를 가져오는 데 사용할 수 있습니다.
이 속성이 변경되면, 기존 델리게이트를 사용하는 모든 인스턴스가 소멸되고 새로운 델리게이트를 사용하여 새로운 인스턴스가 생성됩니다.
delegateModelAccess : enumeration [since 6.10]
이 속성은 델리게이트가 모델에 접근하는 방식을 결정합니다.
| 상수 | 설명 |
|---|---|
DelegateModel.ReadOnly | 델리게이트가 컨텍스트 속성, ` model ` 객체 또는 필수 속성을 통해 모델에 쓰기 작업을 수행하는 것을 금지합니다. |
DelegateModel.ReadWrite | 델리게이트가 컨텍스트 속성, ` model ` 개체 또는 필수 속성을 통해 모델에 쓰기 작업을 수행할 수 있도록 허용합니다. |
DelegateModel.Qt5ReadWrite | 델리게이트가 model 객체 및 컨텍스트 속성을 통해 모델에 쓰기 작업을 수행할 수 있도록 허용하지만, 필수 속성을 통한 쓰기 작업은 허용하지 않습니다. |
기본값은 DelegateModel.Qt5ReadWrite 입니다.
이 속성은 Qt 6.10에서 도입되었습니다.
Qt Quick 의 모델 및 뷰 #모델 데이터 변경항목도 참조하십시오 .
model : variant
이 속성은 지원되는 데이터 모델 중 하나로 설정할 수 있습니다:
- 리피터가 생성할 델리게이트의 수를 나타내는 숫자
- 모델(예: ListModel 항목 또는 QAbstractItemModel 의 하위 클래스)
- 문자열 목록
- 객체 목록
모델의 유형에 따라 delegate 에 노출되는 속성이 달라집니다.
기본값은 1이며, 이 경우 단일 델리게이트 인스턴스가 생성됩니다.
'데이터 모델'항목도 참조하십시오 .
object : QtObject [read-only]
이는 가장 먼저 생성된 객체에 대한 참조로, 객체가 단 하나만 생성된 경우의 편의성을 위해 제공됩니다.
Signal 문서
objectAdded(int index, QtObject object)
이 신호는 인스턴시아이터(Instantiator)에 객체가 추가될 때 발생합니다. ` index ` 매개변수에는 객체에 할당된 인덱스가, ` object ` 매개변수에는 추가된 객체( QtObject )가 담겨 있습니다.
참고: 이에 대응하는핸들러는 onObjectAdded 입니다.
objectRemoved(int index, QtObject object)
이 신호는 인스턴스화기(Instantiator)에서 객체가 제거될 때 발생합니다. ` index ` 매개변수에는 객체에 할당되었던 인덱스가 저장되며, ` object ` 매개변수에는 제거된 객체( QtObject )가 저장됩니다.
이 인스턴스화기(Instantiator)에 의해 생성된 객체( object )에 대한 참조를 유지하지 마십시오. 이러한 경우 신호가 처리된 직후 해당 객체가 삭제될 것이기 때문입니다.
참고: 해당 핸들러는 onObjectRemoved 입니다.
메서드 문서
QtObject objectAt(int index)
지정된 ` index`을 가진 객체에 대한 참조를 반환합니다.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.