QItemEditorFactory Class

QItemEditorFactoryクラスは、ビューやデリゲートでアイテムデータを編集するためのウィジェットを提供します。詳細...

ヘッダ #include <QItemEditorFactory>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets

パブリック関数

QItemEditorFactory()
virtual ~QItemEditorFactory()
virtual QWidget *createEditor(int userType, QWidget *parent) const
void registerEditor(int userType, QItemEditorCreatorBase *creator)
virtual QByteArray valuePropertyName(int userType) const

静的パブリックメンバー

const QItemEditorFactory *defaultFactory()
void setDefaultFactory(QItemEditorFactory *factory)

詳細説明

アイテムビューでデータを編集する場合、エディタはデリゲートによって作成され、表示されます。QStyledItemDelegateQtのアイテムビューにデフォルトでインストールされているデリゲートは、QItemEditorFactoryを使用してエディタを作成します。QItemEditorFactory によって提供されるデフォルトのユニークなインスタンスは、すべてのアイテムデリゲートによって使用されます。setDefaultFactory() で新しいデフォルトのファクトリーを設定すると、既存のデリゲートと新しいデリゲートによって新しいファクトリーが使用されます。

ファクトリーは、QItemEditorCreatorBase インスタンスのコレクションを保持します。これは、ある特定のQVariant データ型のエディターを生成する特殊なエディターです(すべての Qt モデルは、QVariantでデータを格納します)。

標準編集ウィジェット

標準的なファクトリーの実装は、様々なデータ型用のエディターを提供します。これらは、デリゲートがモデルから供給されるデータに対してエディターを提供する必要があるときに、いつでも作成されます。以下の表は、型と提供される標準エディタとの関係を示しています。

エディタ ウィジェット
ブールQComboBox
doubleQDoubleSpinBox
intQSpinBox
符号なし int
QDateQDateEdit
QDateTimeQDateTimeEdit
QPixmapQLabel
QStringQLineEdit
QTimeQTimeEdit

registerEditor() 関数で、追加のエディタを登録することができます。

QStyledItemDelegate およびModel/View Programmingも参照してください

メンバ関数のドキュメント

QItemEditorFactory::QItemEditorFactory()

新しいアイテムエディタファクトリーを構築します。

[virtual noexcept] QItemEditorFactory::~QItemEditorFactory()

アイテムエディタファクトリーを破壊します。

[virtual] QWidget *QItemEditorFactory::createEditor(int userType, QWidget *parent) const

指定されたuserType のデータに対して、指定されたparent でエディタウィジェットを作成し、QWidget として返します。

registerEditor()も参照してください

[static] const QItemEditorFactory *QItemEditorFactory::defaultFactory()

デフォルトのアイテム・エディタ工場を返します。

setDefaultFactory()も参照してください

void QItemEditorFactory::registerEditor(int userType, QItemEditorCreatorBase *creator)

指定されたuserType データのためにcreator で指定されたアイテムエディタクリエータを登録します。

注意:ファクトリーはアイテムエディタクリエータの所有権を持ち、同じタイプの新しいクリエータが後で登録された場合、それを破棄します。

createEditor()も参照してください

[static] void QItemEditorFactory::setDefaultFactory(QItemEditorFactory *factory)

デフォルトのアイテムエディタファクトリーを指定されたfactory に設定します。新しいデリゲートも既存のデリゲートも新しいファクトリーを使用します。

defaultFactory()も参照してください

[virtual] QByteArray QItemEditorFactory::valuePropertyName(int userType) const

指定されたuserType のデータへのアクセスに使用されるプロパティ名を返します。

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