Instantiator QML Type
개체를 동적으로 생성합니다. 더 보기...
Import Statement: | import QtQml.Models |
속성
- active : bool
- asynchronous : bool
- count : int
- delegate : QtQml::Component
- model : variant
- object : QtObject
신호
- objectAdded(int index, QtObject object)
- objectRemoved(int index, QtObject object)
방법
- QtObject objectAt(int index)
상세 설명
인스턴티베이터는 객체의 동적 생성을 제어하거나 템플릿에서 여러 객체를 동적으로 생성하는 데 사용할 수 있습니다.
인스턴스화 요소는 생성하는 객체를 관리합니다. 이러한 객체는 인스턴시레이터의 부모가 되며 인스턴시레이터의 속성이 변경되면 인스턴시레이터에 의해 삭제될 수도 있습니다. 객체는 다른 수단을 통해 동적으로 파괴할 수도 있으며, 인스턴시터의 속성이 변경되지 않는 한 인스턴시터는 객체를 다시 생성하지 않습니다.
참고: 인스턴스화기는 버전 2.14부터 QtQml.Models의 일부이며, 버전 2.1부터는 QtQml 의 일부입니다. QtQml 을 통한 인스턴스화기 임포트는 Qt 5.14부터 더 이상 사용되지 않습니다.
프로퍼티 문서
active : bool |
active가 true이고 델리게이트 컴포넌트가 준비되면 인스턴스화자는 모델에 따라 객체를 생성합니다. active가 false이면 객체가 생성되지 않으며 이전에 생성된 모든 객체가 소멸됩니다.
기본값은 참입니다.
asynchronous : bool |
비동기가 참이면 인스턴시터는 오브젝트를 비동기적으로 생성하려고 시도합니다. 즉, 활성으로 설정되어 있어도 개체를 즉시 사용하지 못할 수 있습니다.
objectAdded 신호를 사용하여 생성 중인 항목에 응답할 수 있습니다.
기본값은 false입니다.
count : int |
인스턴티베이터가 현재 관리 중인 오브젝트 수입니다.
delegate : QtQml::Component |
모든 객체를 생성하는 데 사용되는 컴포넌트입니다.
델리게이트의 인스턴스 내에서 인덱스라는 추가 변수를 사용할 수 있습니다. 이 변수는 인스턴시터 내부의 인스턴스 인덱스를 나타내며, 인스턴시터의 objectAt 메서드를 통해 오브젝트를 가져오는 데 사용할 수 있습니다.
이 속성을 변경하면 이전 델리게이트를 사용하는 모든 인스턴스가 소멸되고 새 델리게이트를 사용하여 새 인스턴스가 생성됩니다.
model : variant |
이 속성은 지원되는 모든 데이터 모델로 설정할 수 있습니다:
- 리피터가 생성할 델리게이트의 수를 나타내는 숫자.
- 모델(예: ListModel 항목 또는 QAbstractItemModel 하위 클래스)
- 문자열 목록
- 객체 목록
모델 유형은 delegate 에 노출되는 프로퍼티에 영향을 줍니다.
기본값은 1로, 단일 델리게이트 인스턴스를 만듭니다.
데이터 모델도참조하세요 .
object : QtObject |
이것은 객체가 하나만 생성된 경우의 편의를 위해 처음 생성된 객체에 대한 참조입니다.
신호 문서
이 신호는 인스턴시터에 객체가 추가될 때 발생합니다. index 파라미터는 객체에 부여된 인덱스를, object 파라미터는 추가된 QtObject 를 보유합니다.
참고: 해당 핸들러는 onObjectAdded
입니다.
이 신호는 인스턴시터에서 객체가 제거될 때 발생합니다. index 파라미터는 객체에 부여된 인덱스를, object 파라미터는 제거된 QtObject 을 보유합니다.
이 인스턴티베이터에 의해 생성된 object 참조는 신호가 처리된 직후 삭제되므로 유지하지 마세요.
참고: 해당 핸들러는 onObjectRemoved
입니다.
메서드 문서
© 2025 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.