QItemEditorFactory Class
Die Klasse QItemEditorFactory bietet Widgets zur Bearbeitung von Elementdaten in Ansichten und Delegaten. Mehr...
Kopfzeile: | #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) |
Detaillierte Beschreibung
Beim Bearbeiten von Daten in einer Elementansicht werden die Editoren von einem Delegaten erstellt und angezeigt. QStyledItemDelegate Der Delegat QItemEditorFactory, der standardmäßig auf Qt-Elementansichten installiert ist, verwendet eine QItemEditorFactory, um Editoren für ihn zu erstellen. Eine eindeutige Standardinstanz, die von QItemEditorFactory bereitgestellt wird, wird von allen Item-Delegaten verwendet. Wenn Sie eine neue Standardfabrik mit setDefaultFactory() festlegen, wird die neue Fabrik von bestehenden und neuen Delegaten verwendet.
Eine Fabrik verwaltet eine Sammlung von QItemEditorCreatorBase Instanzen, die spezialisierte Editoren sind, die Editoren für einen bestimmten QVariant Datentyp erzeugen (alle Qt Modelle speichern ihre Daten in QVariants).
Standard-Editor-Widgets
Die Standard-Factory-Implementierung bietet Editoren für eine Vielzahl von Datentypen. Diese werden immer dann erstellt, wenn ein Delegierter einen Editor für die von einem Modell gelieferten Daten bereitstellen muss. Die folgende Tabelle zeigt die Beziehung zwischen den Typen und den bereitgestellten Standard-Editoren.
Typ | Editor Widget |
---|---|
bool | QComboBox |
double | QDoubleSpinBox |
int | QSpinBox |
unsigned int | |
QDate | QDateEdit |
QDateTime | QDateTimeEdit |
QPixmap | QLabel |
QString | QLineEdit |
QTime | QTimeEdit |
Zusätzliche Editoren können mit der Funktion registerEditor() registriert werden.
Siehe auch QStyledItemDelegate und Model/View-Programmierung.
Dokumentation der Mitgliedsfunktionen
QItemEditorFactory::QItemEditorFactory()
Konstruiert eine neue Artikel-Editor-Fabrik.
[virtual noexcept]
QItemEditorFactory::~QItemEditorFactory()
Zerstört die Fabrik des Objekteditors.
[virtual]
QWidget *QItemEditorFactory::createEditor(int userType, QWidget *parent) const
Erzeugt ein Editor-Widget mit dem angegebenen parent für die angegebenen userType Daten und gibt es als QWidget zurück.
Siehe auch registerEditor().
[static]
const QItemEditorFactory *QItemEditorFactory::defaultFactory()
Gibt die Standard-Editor-Fabrik zurück.
Siehe auch setDefaultFactory().
void QItemEditorFactory::registerEditor(int userType, QItemEditorCreatorBase *creator)
Registriert einen durch creator spezifizierten Element-Editor-Ersteller für die angegebene userType von Daten.
Hinweis: Die Fabrik übernimmt das Eigentum an dem Elementeditor-Ersteller und zerstört ihn, wenn später ein neuer Ersteller für denselben Typ registriert wird.
Siehe auch createEditor().
[static]
void QItemEditorFactory::setDefaultFactory(QItemEditorFactory *factory)
Setzt die Standard-Editor-Fabrik auf die angegebene factory. Sowohl neue als auch bestehende Delegierte werden die neue Fabrik verwenden.
Siehe auch defaultFactory().
[virtual]
QByteArray QItemEditorFactory::valuePropertyName(int userType) const
Gibt den Eigenschaftsnamen zurück, der für den Zugriff auf Daten für die angegebene userType von Daten verwendet wird.
© 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.