QStandardItemEditorCreator Class
template <typename T> class QStandardItemEditorCreatorQStandardItemEditorCreator 클래스는 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);
위에서 만든 editorFactory
을 QStyledItemDelegate::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.