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

상세 설명

이 편의 템플릿 클래스를 사용하면 QItemEditorCreatorBase 을 서브클래싱하지 않고도 위젯을 등록할 수 있습니다.

예시:

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

위에서 만든 editorFactoryQStyledItemDelegate::setItemEditorFactory()을 통해 아이템 델리게이트에 설정하면 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 *부모) const.

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

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

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