QItemEditorFactory Class

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

Header: #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 のデータへのアクセスに使用されるプロパティ名を返します。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します ここで提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。