Auf dieser Seite

QItemEditorFactory Class

Die Klasse „QItemEditorFactory“ stellt Widgets zur Bearbeitung von Elementdaten in Ansichten und Delegaten bereit. Mehr...

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

Öffentliche Funktionen

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

Statische öffentliche Mitglieder

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

Ausführliche Beschreibung

Beim Bearbeiten von Daten in einer Elementansicht werden Editoren von einem Delegaten erstellt und angezeigt. „ QStyledItemDelegate “, der standardmäßig in den Elementansichten von Qt installierte Delegat, verwendet eine „QItemEditorFactory“, um Editoren dafür zu erstellen. Eine von der `QItemEditorFactory` bereitgestellte, eindeutige Standardinstanz wird von allen Element-Delegaten verwendet. Wenn Sie mit ` setDefaultFactory()` eine neue Standardfabrik festlegen, wird diese neue Fabrik sowohl von bestehenden als auch von neuen Delegaten verwendet.

Eine Factory verwaltet eine Sammlung von „ QItemEditorCreatorBase “-Instanzen, bei denen es sich um spezialisierte Editoren handelt, die Editoren für einen bestimmten „ QVariant “-Datentyp erzeugen (alle Qt-Modelle speichern ihre Daten in „ QVariant“).

Standard-Bearbeitungs-Widgets

Die Standard-Factory-Implementierung stellt Editoren für eine Vielzahl von Datentypen bereit. Diese werden immer dann erstellt, wenn ein Delegat einen Editor für die von einem Modell bereitgestellten Daten bereitstellen muss. Die folgende Tabelle zeigt die Zuordnung zwischen den Typen und den bereitgestellten Standard-Editoren.

Zusätzliche Editoren können mit der Funktion ` registerEditor()` registriert werden.

Siehe auch „ QStyledItemDelegate “ und „Modell-/Ansichtsprogrammierung“.

Dokumentation zu Mitgliedsfunktionen

QItemEditorFactory::QItemEditorFactory()

Erstellt eine neue Item-Editor-Factory.

[virtual noexcept] QItemEditorFactory::~QItemEditorFactory()

Löst die Item-Editor-Factory auf.

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

Erstellt ein Editor-Widget mit dem angegebenen „ parent “ für die angegebene „ userType “ der Daten und gibt es als „ QWidget “ zurück.

Siehe auch registerEditor().

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

Gibt die Standard-Factory für den Element-Editor zurück.

Siehe auch „ setDefaultFactory()“.

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

Registriert einen durch „ creator “ angegebenen Item-Editor-Ersteller für die angegebenen Daten unter „ userType “.

Hinweis: Die Factory übernimmt die Verantwortung für den Item-Editor-Ersteller und löscht ihn, wenn später ein neuer Ersteller für denselben Typ registriert wird.

Siehe auch createEditor().

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

Legt die Standard-Factory für den Element-Editor auf die angegebene „ factory “ fest. Sowohl neue als auch bereits vorhandene Delegaten verwenden die neue Factory.

Siehe auch defaultFactory().

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

Gibt den Eigenschaftsnamen zurück, über den auf die Daten des angegebenen Daten userType s zugegriffen wird.

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