En esta página

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.

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.