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