이 페이지에서

QStandardItemEditorCreator Class

template <typename T> class QStandardItemEditorCreator

QStandardItemEditorCreator 클래스를 사용하면 ` QItemEditorCreatorBase`의 서브클래스를 만들지 않고도 위젯을 등록할 수 있습니다. 더 보기...

헤더: #include <QStandardItemEditorCreator>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
상속: QItemEditorCreatorBase

공개 함수

재구현된 공용 함수

virtual QWidget *createWidget(QWidget *parent) const override
virtual QByteArray valuePropertyName() const override

상세 설명

QStandardItemEditorCreator<T>는 T 가 위젯 유형을 지정하는 편의 템플릿 클래스입니다. 이 클래스를 사용하면 QItemEditorCreatorBase 의 서브클래스를 생성하지 않고도 위젯을 등록할 수 있습니다.

예시:

QItemEditorFactory *editorFactory = new QItemEditorFactory;
QItemEditorCreatorBase *creator = new QStandardItemEditorCreator<MyFancyDateTimeEdit>();
editorFactory->registerEditor(QMetaType::QDateTime, creator);

QStyledItemDelegate::setItemEditorFactory()를 통해 항목 델리게이트에 위에서 생성된 editorFactory 를 설정하면, QMetaType::QDateTime 타입의 모든 값이 MyFancyDateTimeEdit 에서 편집되도록 보장됩니다.

편집기는 편집 데이터를 담을 사용자 속성을 제공해야 합니다. 이 속성은 QStyledItemDelegate가 (Qt의 메타 객체 시스템을 사용하여) 데이터를 설정하고 가져오는 데 사용됩니다. 사용자 속성은 USER 키워드를 사용하여 설정합니다:

Q_PROPERTY(QColor color READ color WRITE setColor USER true)

QItemEditorCreatorBase, QItemEditorCreator, QItemEditorFactory 및 QStyledItemDelegate도 참조하십시오 .

멤버 함수 문서

QStandardItemEditorCreator::QStandardItemEditorCreator()

에디터 생성자 객체를 생성합니다.

[override virtual] QWidget *QStandardItemEditorCreator::createWidget(QWidget *parent) const

QItemEditorCreatorBase::createWidget(QWidget *parent) const를 재구현합니다.

[override virtual] QByteArray QStandardItemEditorCreator::valuePropertyName() const

QItemEditorCreatorBase::valuePropertyName() const를 재구현합니다.

© 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.