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) |
詳細な説明
アイテムビューでデータを編集する場合、エディタはデリゲートによって作成・表示されます。Qt XML のアイテムビューにデフォルトでインストールされているデリゲートであるQStyledItemDelegate は、QItemEditorFactory を使用してエディタを作成します。 QItemEditorFactory によって提供されるデフォルトの固有インスタンスは、すべてのアイテムデリゲートによって使用されます。setDefaultFactory() を使用して新しいデフォルトのファクトリを設定すると、その新しいファクトリは既存および新規のデリゲートによって使用されます。
ファクトリは、QItemEditorCreatorBase インスタンスのコレクションを保持します。これらは、特定のQVariant データ型(すべての Qt モデルは、データをQVariantに格納します)用のエディタを生成する、特殊化されたエディタです。
標準の編集ウィジェット
標準のファクトリ実装は、さまざまなデータ型に対応するエディタを提供します。これらは、デリゲートがモデルから提供されたデータ用のエディタを用意する必要があるたびに生成されます。次の表は、各データ型と提供される標準エディタとの関係を示しています。
| 型 | エディタウィジェット |
|---|---|
| bool | QComboBox |
| double | QDoubleSpinBox |
| int | QSpinBox |
| unsigned int | |
| QDate | QDateEdit |
| QDateTime | QDateTimeEdit |
| QPixmap | QLabel |
| QString | QLineEdit |
| QTime | QTimeEdit |
registerEditor() 関数を使用して、追加のエディタを登録することができます。
QStyledItemDelegate およびモデル/ビュープログラミングも参照してください 。
メンバ関数のドキュメント
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 のデータにアクセスするために使用されるプロパティ名を返します。
© 2026 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.