QItemEditorFactory Class
La clase QItemEditorFactory proporciona widgets para editar datos de elementos en vistas y delegados. Más...
| Cabecera: | #include <QItemEditorFactory> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets)target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
Funciones Públicas
| QItemEditorFactory() | |
| virtual | ~QItemEditorFactory() |
| virtual QWidget * | createEditor(int userType, QWidget *parent) const |
| void | registerEditor(int userType, QItemEditorCreatorBase *creator) |
| virtual QByteArray | valuePropertyName(int userType) const |
Miembros públicos estáticos
| const QItemEditorFactory * | defaultFactory() |
| void | setDefaultFactory(QItemEditorFactory *factory) |
Descripción detallada
Cuando se editan datos en una vista de ítems, los editores son creados y mostrados por un delegado. QStyledItemDelegate QItemEditorFactory, que es el delegado instalado por defecto en las vistas de ítems de Qt, utiliza un QItemEditorFactory para crear editores para él. Una instancia única por defecto proporcionada por QItemEditorFactory es utilizada por todos los delegados de ítems. Si estableces una nueva fábrica por defecto con setDefaultFactory(), la nueva fábrica será utilizada por los delegados existentes y nuevos.
Una fábrica mantiene una colección de instancias de QItemEditorCreatorBase, que son editores especializados que producen editores para un tipo de datos QVariant en particular (Todos los modelos Qt almacenan sus datos en QVariants).
Widgets de edición estándar
La implementación de fábrica estándar proporciona editores para una variedad de tipos de datos. Éstos se crean siempre que un delegado necesita proporcionar un editor para los datos suministrados por un modelo. La siguiente tabla muestra la relación entre los tipos y los editores estándar proporcionados.
| Tipo | Editor Widget |
|---|---|
| bool | QComboBox |
| doble | QDoubleSpinBox |
| int | QSpinBox |
| unsigned int | |
| QDate | QDateEdit |
| QDateTime | QDateTimeEdit |
| QPixmap | QLabel |
| QString | QLineEdit |
| QTime | QTimeEdit |
Se pueden registrar editores adicionales con la función registerEditor().
Véase también QStyledItemDelegate y Programación Modelo/Vista.
Documentación de funciones miembro
QItemEditorFactory::QItemEditorFactory()
Construye una nueva fábrica de editores de ítems.
[virtual noexcept] QItemEditorFactory::~QItemEditorFactory()
Destruye la fábrica del editor de objetos.
[virtual] QWidget *QItemEditorFactory::createEditor(int userType, QWidget *parent) const
Crea un widget de editor con el parent dado para el userType especificado de datos, y lo devuelve como un QWidget.
Véase también registerEditor().
[static] const QItemEditorFactory *QItemEditorFactory::defaultFactory()
Devuelve la fábrica del editor de elementos por defecto.
Véase también setDefaultFactory().
void QItemEditorFactory::registerEditor(int userType, QItemEditorCreatorBase *creator)
Registra un creador de editor de elementos especificado por creator para los datos de userType.
Nota: La fábrica se apropia del creador del editor de elementos y lo destruirá si se registra posteriormente un nuevo creador para el mismo tipo.
Véase también createEditor().
[static] void QItemEditorFactory::setDefaultFactory(QItemEditorFactory *factory)
Establece la fábrica predeterminada del editor de elementos en la dirección factory. Tanto los delegados nuevos como los existentes utilizarán la nueva fábrica.
Véase también defaultFactory().
[virtual] QByteArray QItemEditorFactory::valuePropertyName(int userType) const
Devuelve el nombre de la propiedad utilizada para acceder a los datos del userType de datos dado.
© 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.