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 *parent) 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.