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 |
double | QDoubleSpinBox |
int | QSpinBox |
符号なし int | |
QDate | QDateEdit |
QDateTime | QDateTimeEdit |
QPixmap | QLabel |
QString | QLineEdit |
QTime | QTimeEdit |
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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。