QItemEditorFactory Class
QItemEditorFactory 클래스는 뷰와 델리게이트에서 항목 데이터를 편집할 수 있는 위젯을 제공합니다. 더 보기...
| 헤더: | #include <QItemEditorFactory> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
공개 함수
| QItemEditorFactory() | |
| virtual | ~QItemEditorFactory() |
| virtual QWidget * | createEditor(int userType, QWidget *parent) const |
| void | registerEditor(int userType, QItemEditorCreatorBase *creator) |
| virtual QByteArray | valuePropertyName(int userType) const |
정적 공용 멤버
| const QItemEditorFactory * | defaultFactory() |
| void | setDefaultFactory(QItemEditorFactory *factory) |
상세 설명
항목 뷰에서 데이터를 편집할 때, 델리게이트에 의해 편집기가 생성되어 표시됩니다. Qt의 항목 뷰에 기본적으로 설치된 델리게이트인 ` QStyledItemDelegate`는 `QItemEditorFactory`를 사용하여 편집기를 생성합니다. QItemEditorFactory에서 제공하는 고유한 기본 인스턴스는 모든 항목 델리게이트에서 사용됩니다. setDefaultFactory()를 사용하여 새로운 기본 팩토리를 설정하면, 기존 및 새로운 델리게이트 모두에서 새로운 팩토리가 사용됩니다.
팩토리는 QItemEditorCreatorBase 인스턴스 모음을 유지하며, 이 인스턴스들은 특정 QVariant 데이터 유형(모든 Qt 모델은 데이터를 QVariant에 저장합니다)에 대한 편집기를 생성하는 특수화된 편집기입니다.
표준 편집 위젯
표준 팩토리 구현은 다양한 데이터 유형에 대한 편집기를 제공합니다. 이러한 편집기는 델리게이트가 모델에서 제공하는 데이터에 대한 편집기를 제공해야 할 때마다 생성됩니다. 다음 표는 유형과 제공되는 표준 편집기 간의 관계를 보여줍니다.
| 유형 | 편집기 위젯 |
|---|---|
| bool | QComboBox |
| double | QDoubleSpinBox |
| int | QSpinBox |
| unsigned int | |
| QDate | QDateEdit |
| QDateTime | QDateTimeEdit |
| QPixmap | QLabel |
| QString | QLineEdit |
| QTime | QTimeEdit |
registerEditor() 함수를 사용하여 추가 편집기를 등록할 수 있습니다.
QStyledItemDelegate 및 모델/뷰 프로그래밍도 참조하십시오 .
멤버 함수 문서
QItemEditorFactory::QItemEditorFactory()
새로운 아이템 에디터 팩토리를 생성합니다.
[virtual noexcept] QItemEditorFactory::~QItemEditorFactory()
아이템 에디터 팩토리를 제거합니다.
[virtual] QWidget *QItemEditorFactory::createEditor(int userType, QWidget *parent) const
지정된 데이터의 userType 에 대해 주어진 parent 를 사용하는 편집기 위젯을 생성하고, 이를 QWidget 로 반환합니다.
registerEditor()도 참조하십시오 .
[static] const QItemEditorFactory *QItemEditorFactory::defaultFactory()
기본 항목 편집기 팩토리를 반환합니다.
setDefaultFactory()도 참조하십시오 .
void QItemEditorFactory::registerEditor(int userType, QItemEditorCreatorBase *creator)
creator 로 지정된 항목 편집기 생성기를, 주어진 데이터의 userType 에 대해 등록합니다.
참고: 팩토리는 항목 편집기 생성기의 소유권을 인수하며, 나중에 동일한 유형에 대한 새로운 생성기가 등록되면 이를 파기합니다.
createEditor()도 참조하십시오 .
[static] void QItemEditorFactory::setDefaultFactory(QItemEditorFactory *factory)
기본 항목 편집기 팩토리를 지정된 factory 로 설정합니다. 새로 생성되는 델리게이트와 기존 델리게이트 모두 새로운 팩토리를 사용하게 됩니다.
defaultFactory()도 참조하십시오 .
[virtual] QByteArray QItemEditorFactory::valuePropertyName(int userType) const
지정된 데이터의 ` userType `에 대한 데이터에 접근하는 데 사용되는 속성 이름을 반환합니다.
© 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.