QAbstractItemView Class
La clase QAbstractItemView proporciona la funcionalidad básica para las clases de vista de elementos. Más...
| Cabecera: | #include <QAbstractItemView> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets)target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| Hereda: | QAbstractScrollArea |
| Heredado de: | QColumnView, QHeaderView, QListView, QTableView, y QTreeView |
Tipos públicos
| enum | DragDropMode { NoDragDrop, DragOnly, DropOnly, DragDrop, InternalMove } |
| enum | EditTrigger { NoEditTriggers, CurrentChanged, DoubleClicked, SelectedClicked, EditKeyPressed, …, AllEditTriggers } |
| flags | EditTriggers |
| enum | ScrollHint { EnsureVisible, PositionAtTop, PositionAtBottom, PositionAtCenter } |
| enum | ScrollMode { ScrollPerItem, ScrollPerPixel } |
| enum | SelectionBehavior { SelectItems, SelectRows, SelectColumns } |
| enum | SelectionMode { SingleSelection, ContiguousSelection, ExtendedSelection, MultiSelection, NoSelection } |
Propiedades
|
|
Funciones públicas
| QAbstractItemView(QWidget *parent = nullptr) | |
| virtual | ~QAbstractItemView() |
| bool | alternatingRowColors() const |
| int | autoScrollMargin() const |
| void | closePersistentEditor(const QModelIndex &index) |
| QModelIndex | currentIndex() const |
| Qt::DropAction | defaultDropAction() const |
| QAbstractItemView::DragDropMode | dragDropMode() const |
| bool | dragDropOverwriteMode() const |
| bool | dragEnabled() const |
| QAbstractItemView::EditTriggers | editTriggers() const |
| bool | hasAutoScroll() const |
| QAbstractItemView::ScrollMode | horizontalScrollMode() const |
| QSize | iconSize() const |
| virtual QModelIndex | indexAt(const QPoint &point) const = 0 |
| QWidget * | indexWidget(const QModelIndex &index) const |
| bool | isPersistentEditorOpen(const QModelIndex &index) const |
| QAbstractItemDelegate * | itemDelegate() const |
| QAbstractItemDelegate * | itemDelegateForColumn(int column) const |
(since 6.0) virtual QAbstractItemDelegate * | itemDelegateForIndex(const QModelIndex &index) const |
| QAbstractItemDelegate * | itemDelegateForRow(int row) const |
| virtual void | keyboardSearch(const QString &search) |
| Qt::MatchFlags | keyboardSearchFlags() const |
| QAbstractItemModel * | model() const |
| void | openPersistentEditor(const QModelIndex &index) |
| void | resetHorizontalScrollMode() |
| void | resetVerticalScrollMode() |
| QModelIndex | rootIndex() const |
| virtual void | scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint = EnsureVisible) = 0 |
| QAbstractItemView::SelectionBehavior | selectionBehavior() const |
| QAbstractItemView::SelectionMode | selectionMode() const |
| QItemSelectionModel * | selectionModel() const |
| void | setAlternatingRowColors(bool enable) |
| void | setAutoScroll(bool enable) |
| void | setAutoScrollMargin(int margin) |
| void | setDefaultDropAction(Qt::DropAction dropAction) |
| void | setDragDropMode(QAbstractItemView::DragDropMode behavior) |
| void | setDragDropOverwriteMode(bool overwrite) |
| void | setDragEnabled(bool enable) |
| void | setDropIndicatorShown(bool enable) |
| void | setEditTriggers(QAbstractItemView::EditTriggers triggers) |
| void | setHorizontalScrollMode(QAbstractItemView::ScrollMode mode) |
| void | setIconSize(const QSize &size) |
| void | setIndexWidget(const QModelIndex &index, QWidget *widget) |
| void | setItemDelegate(QAbstractItemDelegate *delegate) |
| void | setItemDelegateForColumn(int column, QAbstractItemDelegate *delegate) |
| void | setItemDelegateForRow(int row, QAbstractItemDelegate *delegate) |
| void | setKeyboardSearchFlags(Qt::MatchFlags searchFlags) |
| virtual void | setModel(QAbstractItemModel *model) |
| void | setSelectionBehavior(QAbstractItemView::SelectionBehavior behavior) |
| void | setSelectionMode(QAbstractItemView::SelectionMode mode) |
| virtual void | setSelectionModel(QItemSelectionModel *selectionModel) |
| void | setTabKeyNavigation(bool enable) |
| void | setTextElideMode(Qt::TextElideMode mode) |
| void | setUpdateThreshold(int threshold) |
| void | setVerticalScrollMode(QAbstractItemView::ScrollMode mode) |
| bool | showDropIndicator() const |
| virtual int | sizeHintForColumn(int column) const |
| QSize | sizeHintForIndex(const QModelIndex &index) const |
| virtual int | sizeHintForRow(int row) const |
| bool | tabKeyNavigation() const |
| Qt::TextElideMode | textElideMode() const |
| int | updateThreshold() const |
| QAbstractItemView::ScrollMode | verticalScrollMode() const |
| virtual QRect | visualRect(const QModelIndex &index) const = 0 |
Funciones públicas reimplementadas
| virtual QVariant | inputMethodQuery(Qt::InputMethodQuery query) const override |
Ranuras públicas
| void | clearSelection() |
| void | edit(const QModelIndex &index) |
| virtual void | reset() |
| void | scrollToBottom() |
| void | scrollToTop() |
| virtual void | selectAll() |
| void | setCurrentIndex(const QModelIndex &index) |
| virtual void | setRootIndex(const QModelIndex &index) |
| void | update(const QModelIndex &index) |
Señales
| void | activated(const QModelIndex &index) |
| void | clicked(const QModelIndex &index) |
| void | doubleClicked(const QModelIndex &index) |
| void | entered(const QModelIndex &index) |
| void | iconSizeChanged(const QSize &size) |
| void | pressed(const QModelIndex &index) |
| void | viewportEntered() |
Tipos protegidos
| enum | CursorAction { MoveUp, MoveDown, MoveLeft, MoveRight, MoveHome, …, MovePrevious } |
| enum | DropIndicatorPosition { OnItem, AboveItem, BelowItem, OnViewport } |
| enum | State { NoState, DraggingState, DragSelectingState, EditingState, ExpandingState, …, AnimatingState } |
Funciones protegidas
| QPoint | dirtyRegionOffset() const |
| QAbstractItemView::DropIndicatorPosition | dropIndicatorPosition() const |
| virtual bool | edit(const QModelIndex &index, QAbstractItemView::EditTrigger trigger, QEvent *event) |
| void | executeDelayedItemsLayout() |
| virtual int | horizontalOffset() const = 0 |
(since 6.0) virtual void | initViewItemOption(QStyleOptionViewItem *option) const |
| virtual bool | isIndexHidden(const QModelIndex &index) const = 0 |
| virtual QModelIndex | moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers) = 0 |
| void | scheduleDelayedItemsLayout() |
| void | scrollDirtyRegion(int dx, int dy) |
| virtual QModelIndexList | selectedIndexes() const |
| virtual QItemSelectionModel::SelectionFlags | selectionCommand(const QModelIndex &index, const QEvent *event = nullptr) const |
| void | setDirtyRegion(const QRegion ®ion) |
| virtual void | setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags flags) = 0 |
| void | setState(QAbstractItemView::State state) |
| virtual void | startDrag(Qt::DropActions supportedActions) |
| QAbstractItemView::State | state() const |
| virtual int | verticalOffset() const = 0 |
| virtual QRegion | visualRegionForSelection(const QItemSelection &selection) const = 0 |
Funciones protegidas reimplementadas
| virtual void | dragEnterEvent(QDragEnterEvent *event) override |
| virtual void | dragLeaveEvent(QDragLeaveEvent *event) override |
| virtual void | dragMoveEvent(QDragMoveEvent *event) override |
| virtual void | dropEvent(QDropEvent *event) override |
| virtual bool | event(QEvent *event) override |
| virtual bool | eventFilter(QObject *object, QEvent *event) override |
| virtual void | focusInEvent(QFocusEvent *event) override |
| virtual bool | focusNextPrevChild(bool next) override |
| virtual void | focusOutEvent(QFocusEvent *event) override |
| virtual void | inputMethodEvent(QInputMethodEvent *event) override |
| virtual void | keyPressEvent(QKeyEvent *event) override |
| virtual void | mouseDoubleClickEvent(QMouseEvent *event) override |
| virtual void | mouseMoveEvent(QMouseEvent *event) override |
| virtual void | mousePressEvent(QMouseEvent *event) override |
| virtual void | mouseReleaseEvent(QMouseEvent *event) override |
| virtual void | resizeEvent(QResizeEvent *event) override |
| virtual void | timerEvent(QTimerEvent *event) override |
| virtual bool | viewportEvent(QEvent *event) override |
| virtual QSize | viewportSizeHint() const override |
Ranuras protegidas
| virtual void | closeEditor(QWidget *editor, QAbstractItemDelegate::EndEditHint hint) |
| virtual void | commitData(QWidget *editor) |
| virtual void | currentChanged(const QModelIndex ¤t, const QModelIndex &previous) |
| virtual void | dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QList<int> &roles = QList<int>()) |
| virtual void | editorDestroyed(QObject *editor) |
| virtual void | rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end) |
| virtual void | rowsInserted(const QModelIndex &parent, int inicio, int fin) |
| virtual void | selectionChanged(const QItemSelection &selected, const QItemSelection &deselected) |
| virtual void | updateGeometries() |
Descripción detallada
QAbstractItemView clase es la clase base para cada vista estándar que utiliza un QAbstractItemModel. QAbstractItemView es una clase abstracta y no puede ser instanciada. Proporciona una interfaz estándar para interoperar con los modelos a través del mecanismo de señales y ranuras, permitiendo a las subclases mantenerse al día con los cambios en sus modelos. Esta clase proporciona soporte estándar para la navegación por teclado y ratón, desplazamiento de la ventana gráfica, edición de elementos y selecciones. La navegación por teclado implementa esta funcionalidad:
| Teclas | Funcionalidad |
|---|---|
| Teclas de flecha | Cambia el elemento actual y lo selecciona. |
| Teclas Ctrl+Flecha | Cambia el elemento actual pero no lo selecciona. |
| Mayús+Flecha | Cambia el elemento actual y lo selecciona. Los elementos seleccionados anteriormente no se deseleccionan. |
| Ctrl+Espacio | Cambia la selección del elemento actual. |
| Tabulador/Atrás | Cambia el elemento actual al elemento siguiente/anterior. |
| Inicio/Fin | Selecciona el primer/último elemento del modelo. |
| Página arriba/Página abajo | Desplaza las filas mostradas hacia arriba/abajo según el número de filas visibles en la vista. |
| Ctrl+A | Selecciona todos los elementos del modelo. |
Tenga en cuenta que la tabla anterior asume que selection mode permite las operaciones. Por ejemplo, no se pueden seleccionar elementos si el modo de selección es QAbstractItemView::NoSelection.
La clase QAbstractItemView es una de las Clases Modelo/Vista y forma parte del framework modelo/vista de Qt.
Las clases de vista que heredan de QAbstractItemView sólo necesitan implementar su propia funcionalidad específica de la vista, como dibujar ítems, devolver la geometría de los ítems, encontrar ítems, etc.
QAbstractItemView proporciona ranuras comunes como edit() y setCurrentIndex(). También se proporcionan muchas ranuras protegidas, incluyendo dataChanged(), rowsInserted(), rowsAboutToBeRemoved(), selectionChanged(), y currentChanged().
El elemento raíz es devuelto por rootIndex(), y el elemento actual por currentIndex(). Para asegurarse de que un elemento es visible, utilice scrollTo().
Algunas de las funciones de QAbstractItemView están relacionadas con el desplazamiento, por ejemplo setHorizontalScrollMode() y setVerticalScrollMode(). Para establecer el rango de las barras de desplazamiento, puedes, por ejemplo, reimplementar la función resizeEvent() de la vista:
void MyView::resizeEvent(QResizeEvent *event) { horizontalScrollBar()->setRange(0, realWidth - width()); ... }
Tenga en cuenta que el rango no se actualiza hasta que se muestra el widget.
Varias otras funciones están relacionadas con el control de selección; por ejemplo setSelectionMode(), y setSelectionBehavior(). Esta clase proporciona un modelo de selección predeterminado con el que trabajar (selectionModel()), pero puede sustituirse utilizando setSelectionModel() con una instancia de QItemSelectionModel.
Para un control completo sobre la visualización y edición de elementos se puede especificar un delegado con setItemDelegate().
QAbstractItemView proporciona muchas funciones protegidas. Algunas tienen que ver con la edición, por ejemplo, edit(), y commitData(), mientras que otras son manejadoras de eventos de teclado y ratón.
Vea también Clases de Vista, Programación Modelo/Vista, y QAbstractItemModel.
Documentación de tipos de miembros
enum QAbstractItemView::CursorAction
Este enum describe las diferentes formas de navegar entre elementos,
| Constante | Valor | Descripción |
|---|---|---|
QAbstractItemView::MoveUp | 0 | Moverse al elemento situado encima del actual. |
QAbstractItemView::MoveDown | 1 | Moverse al elemento situado debajo del actual. |
QAbstractItemView::MoveLeft | 2 | Mover al elemento a la izquierda del elemento actual. |
QAbstractItemView::MoveRight | 3 | Mover al elemento a la derecha del elemento actual. |
QAbstractItemView::MoveHome | 4 | Mover al elemento de la esquina superior izquierda. |
QAbstractItemView::MoveEnd | 5 | Mover al elemento de la esquina inferior derecha. |
QAbstractItemView::MovePageUp | 6 | Subir una página por encima del elemento actual. |
QAbstractItemView::MovePageDown | 7 | Avanzar una página por debajo del elemento actual. |
QAbstractItemView::MoveNext | 8 | Ir al elemento siguiente al actual. |
QAbstractItemView::MovePrevious | 9 | Ir al elemento anterior al actual. |
Véase también moveCursor().
enum QAbstractItemView::DragDropMode
Describe los distintos eventos de arrastrar y soltar sobre los que puede actuar la vista. Por defecto, la vista no permite arrastrar ni soltar (NoDragDrop).
| Constante | Valor | Descripción |
|---|---|---|
QAbstractItemView::NoDragDrop | 0 | No permite arrastrar ni soltar. |
QAbstractItemView::DragOnly | 1 | La vista admite arrastrar sus propios elementos |
QAbstractItemView::DropOnly | 2 | La vista acepta soltar |
QAbstractItemView::DragDrop | 3 | La vista admite tanto arrastrar como soltar |
QAbstractItemView::InternalMove | 4 | La vista acepta operaciones de mover(no copiar) sólo desde sí misma. |
Tenga en cuenta que el modelo utilizado debe soportar las operaciones de arrastrar y soltar.
Véase también setDragDropMode() y Uso de la función arrastrar y soltar con vistas de elementos.
enum QAbstractItemView::DropIndicatorPosition
Este enum indica la posición del indicador de caída en relación con el índice en la posición actual del ratón:
| Constante | Valor | Descripción |
|---|---|---|
QAbstractItemView::OnItem | 0 | El elemento se soltará sobre el índice. |
QAbstractItemView::AboveItem | 1 | El elemento se soltará por encima del índice. |
QAbstractItemView::BelowItem | 2 | El elemento se soltará por debajo del índice. |
QAbstractItemView::OnViewport | 3 | El elemento se soltará en una región de la ventana gráfica en la que no haya ningún elemento. La forma en que cada vista gestiona los elementos que se sueltan en la ventana depende del comportamiento del modelo subyacente en uso. |
enum QAbstractItemView::EditTrigger
flags QAbstractItemView::EditTriggers
Este enum describe acciones que iniciarán la edición de ítems.
| Constante | Valor | Descripción |
|---|---|---|
QAbstractItemView::NoEditTriggers | 0 | No es posible editar. |
QAbstractItemView::CurrentChanged | 1 | La edición se inicia cuando cambia el elemento actual. |
QAbstractItemView::DoubleClicked | 2 | La edición comienza cuando se hace doble clic en un elemento. |
QAbstractItemView::SelectedClicked | 4 | La edición se inicia al hacer clic en un elemento ya seleccionado. |
QAbstractItemView::EditKeyPressed | 8 | La edición comienza cuando se pulsa la tecla de edición de la plataforma sobre un elemento. |
QAbstractItemView::AnyKeyPressed | 16 | La edición comienza cuando se pulsa cualquier tecla sobre un elemento. |
QAbstractItemView::AllEditTriggers | 31 | La edición se inicia para todas las acciones anteriores. |
El tipo EditTriggers es un typedef para QFlags<EditTrigger>. Almacena una combinación OR de valores EditTrigger.
enum QAbstractItemView::ScrollHint
| Constante | Valor | Descripción |
|---|---|---|
QAbstractItemView::EnsureVisible | 0 | Desplácese para asegurarse de que el elemento es visible. |
QAbstractItemView::PositionAtTop | 1 | Desplácese para colocar el elemento en la parte superior de la ventana gráfica. |
QAbstractItemView::PositionAtBottom | 2 | Desplácese para colocar el elemento en la parte inferior de la ventana gráfica. |
QAbstractItemView::PositionAtCenter | 3 | Desplácese para colocar el elemento en el centro de la ventana gráfica. |
enum QAbstractItemView::ScrollMode
Describe cómo debe comportarse la barra de desplazamiento. Cuando se establece el modo de desplazamiento a ScrollPerPixel el tamaño de paso único se ajustará automáticamente a menos que se haya establecido explícitamente utilizando setSingleStep(). El ajuste automático puede restaurarse estableciendo el tamaño de paso único en -1.
| Constante | Valor | Descripción |
|---|---|---|
QAbstractItemView::ScrollPerItem | 0 | La vista desplazará el contenido de un elemento cada vez. |
QAbstractItemView::ScrollPerPixel | 1 | La vista desplazará el contenido un píxel cada vez. |
enum QAbstractItemView::SelectionBehavior
| Constante | Valor | Descripción |
|---|---|---|
QAbstractItemView::SelectItems | 0 | Selección de elementos individuales. |
QAbstractItemView::SelectRows | 1 | Seleccionar sólo filas. |
QAbstractItemView::SelectColumns | 2 | Seleccionar sólo columnas. |
enum QAbstractItemView::SelectionMode
Este enum indica cómo responde la vista a las selecciones del usuario:
| Constante | Valor | Descripción |
|---|---|---|
QAbstractItemView::SingleSelection | 1 | Cuando el usuario selecciona un elemento, cualquier elemento ya seleccionado se deselecciona. El usuario puede deseleccionar el elemento seleccionado pulsando la tecla Ctrl al hacer clic en el elemento seleccionado. |
QAbstractItemView::ContiguousSelection | 4 | Cuando el usuario selecciona un elemento de la forma habitual, se borra la selección y se selecciona el nuevo elemento. Sin embargo, si el usuario pulsa la tecla Mayús mientras hace clic en un elemento, todos los elementos entre el elemento actual y el elemento seleccionado se seleccionan o deseleccionan, dependiendo del estado del elemento seleccionado. |
QAbstractItemView::ExtendedSelection | 3 | Cuando el usuario selecciona un elemento de la forma habitual, se borra la selección y se selecciona el nuevo elemento. Sin embargo, si el usuario pulsa la tecla Ctrl al hacer clic en un elemento, el elemento sobre el que se ha hecho clic se conmuta y todos los demás elementos se dejan intactos. Si el usuario pulsa la tecla Mayús mientras hace clic en un elemento, todos los elementos entre el elemento actual y el elemento seleccionado se seleccionan o deseleccionan, dependiendo del estado del elemento seleccionado. Se pueden seleccionar varios elementos arrastrando el ratón sobre ellos. |
QAbstractItemView::MultiSelection | 2 | Cuando el usuario selecciona un elemento de la forma habitual, el estado de selección de ese elemento se conmuta y los demás elementos se dejan como están. Se pueden seleccionar varios elementos arrastrando el ratón sobre ellos. |
QAbstractItemView::NoSelection | 0 | Los elementos no pueden seleccionarse. |
Los modos más utilizados son SingleSelection y ExtendedSelection.
enum QAbstractItemView::State
Describe los diferentes estados en los que puede estar la vista. Normalmente sólo es interesante cuando reimplementas tu propia vista.
| Constante | Valor | Descripción |
|---|---|---|
QAbstractItemView::NoState | 0 | Es el estado por defecto. |
QAbstractItemView::DraggingState | 1 | El usuario está arrastrando elementos. |
QAbstractItemView::DragSelectingState | 2 | El usuario está seleccionando elementos. |
QAbstractItemView::EditingState | 3 | El usuario está editando un elemento en un editor de widgets. |
QAbstractItemView::ExpandingState | 4 | El usuario está abriendo una rama de elementos. |
QAbstractItemView::CollapsingState | 5 | El usuario está cerrando una rama de elementos. |
QAbstractItemView::AnimatingState | 6 | La vista de elementos está realizando una animación. |
Documentación de propiedades
alternatingRowColors : bool
Esta propiedad indica si se dibuja el fondo utilizando colores alternos.
Si esta propiedad es true, el fondo del elemento se dibujará utilizando QPalette::Base y QPalette::AlternateBase; en caso contrario el fondo se dibujará utilizando el color QPalette::Base.
Por defecto, esta propiedad es false.
Funciones de acceso:
| bool | alternatingRowColors() const |
| void | setAlternatingRowColors(bool enable) |
autoScroll : bool
Esta propiedad indica si está habilitado el autodesplazamiento en eventos de arrastre.
Si esta propiedad está establecida a true (por defecto), QAbstractItemView desplaza automáticamente el contenido de la vista si el usuario arrastra dentro de los 16 píxeles del borde de la vista. Si el elemento actual cambia, la vista se desplazará automáticamente para asegurarse de que el elemento actual es totalmente visible.
Esta propiedad sólo funciona si la ventana gráfica acepta descensos. El desplazamiento automático se desactiva estableciendo esta propiedad a false.
Funciones de acceso:
| bool | hasAutoScroll() const |
| void | setAutoScroll(bool enable) |
autoScrollMargin : int
Esta propiedad mantiene el tamaño del área cuando se activa el autodesplazamiento
Esta propiedad controla el tamaño del área en el borde de la ventana gráfica que activa el desplazamiento automático. El valor por defecto es de 16 píxeles.
Funciones de acceso:
| int | autoScrollMargin() const |
| void | setAutoScrollMargin(int margin) |
defaultDropAction : Qt::DropAction
Esta propiedad contiene la acción de soltar que se utilizará por defecto en QAbstractItemView::drag().
Si la propiedad no está establecida, la acción de soltar es CopyAction cuando las acciones soportadas soportan CopyAction.
Funciones de acceso:
| Qt::DropAction | defaultDropAction() const |
| void | setDefaultDropAction(Qt::DropAction dropAction) |
Véase también showDropIndicator y dragDropOverwriteMode.
dragDropMode : DragDropMode
Esta propiedad contiene el evento de arrastrar y soltar sobre el que actuará la vista
Funciones de acceso:
| QAbstractItemView::DragDropMode | dragDropMode() const |
| void | setDragDropMode(QAbstractItemView::DragDropMode behavior) |
Ver también showDropIndicator y dragDropOverwriteMode.
dragDropOverwriteMode : bool
Esta propiedad mantiene el comportamiento de arrastrar y soltar de la vista.
Si su valor es true, los datos seleccionados sobrescribirán los datos del elemento existente cuando se suelten, mientras que al mover los datos se borrará el elemento. Si su valor es false, los datos seleccionados se insertarán como un nuevo elemento al soltarlos. Cuando se mueven los datos, también se elimina el elemento.
El valor por defecto es false, como en las subclases QListView y QTreeView. En la subclase QTableView, en cambio, la propiedad se ha fijado en true.
Nota: Esto no pretende evitar la sobreescritura de elementos. La implementación de flags() del modelo debería hacerlo no devolviendo Qt::ItemIsDropEnabled.
Funciones de acceso:
| bool | dragDropOverwriteMode() const |
| void | setDragDropOverwriteMode(bool overwrite) |
Véase también dragDropMode.
dragEnabled : bool
Esta propiedad indica si la vista permite arrastrar sus propios elementos
Funciones de acceso:
| bool | dragEnabled() const |
| void | setDragEnabled(bool enable) |
Ver también showDropIndicator, DragDropMode, dragDropOverwriteMode, y acceptDrops.
editTriggers : EditTriggers
Esta propiedad contiene las acciones que iniciarán la edición del elemento.
Esta propiedad es una selección de indicadores definidos por EditTrigger, combinados mediante el operador OR. La vista sólo iniciará la edición de un ítem si la acción realizada está establecida en esta propiedad.
El valor por defecto es
- para QTableView: DoubleClicked|AnyKeyPressed
- para el resto de vistas: DoubleClicked|EditKeyPressed
Funciones de acceso:
| QAbstractItemView::EditTriggers | editTriggers() const |
| void | setEditTriggers(QAbstractItemView::EditTriggers triggers) |
horizontalScrollMode : ScrollMode
cómo la vista desplaza sus contenidos en dirección horizontal
Esta propiedad controla cómo la vista desplaza su contenido horizontalmente. El desplazamiento puede hacerse por píxel o por elemento. Su valor por defecto proviene del estilo a través de la sugerencia de estilo QStyle::SH_ItemView_ScrollMode.
Funciones de acceso:
| QAbstractItemView::ScrollMode | horizontalScrollMode() const |
| void | setHorizontalScrollMode(QAbstractItemView::ScrollMode mode) |
| void | resetHorizontalScrollMode() |
iconSize : QSize
Esta propiedad contiene el tamaño de los iconos de los elementos.
Establecer esta propiedad cuando la vista es visible hará que los ítems se dispongan de nuevo.
Funciones de acceso:
| QSize | iconSize() const |
| void | setIconSize(const QSize &size) |
Señal del notificador:
| void | iconSizeChanged(const QSize &size) |
[since 6.11] keyboardSearchFlags : Qt::MatchFlags
Esta propiedad determina cómo la implementación por defecto de keyboardSearch() compara la cadena dada con los datos del modelo.
El valor por defecto es Qt::MatchStartsWith|Qt::MatchWrap.
Esta propiedad se introdujo en Qt 6.11.
Funciones de acceso:
| Qt::MatchFlags | keyboardSearchFlags() const |
| void | setKeyboardSearchFlags(Qt::MatchFlags searchFlags) |
Véase también keyboardSearch() y QAbstractItemModel::match().
selectionBehavior : SelectionBehavior
Esta propiedad contiene el comportamiento de selección que utiliza la vista
Esta propiedad contiene si las selecciones se realizan en términos de elementos individuales, filas o columnas.
Funciones de acceso:
| QAbstractItemView::SelectionBehavior | selectionBehavior() const |
| void | setSelectionBehavior(QAbstractItemView::SelectionBehavior behavior) |
Véase también SelectionMode y SelectionBehavior.
selectionMode : SelectionMode
Esta propiedad determina el modo de selección de la vista.
Esta propiedad controla si el usuario puede seleccionar uno o muchos elementos y, en selecciones de muchos elementos, si la selección debe ser un rango continuo de elementos.
Funciones de acceso:
| QAbstractItemView::SelectionMode | selectionMode() const |
| void | setSelectionMode(QAbstractItemView::SelectionMode mode) |
Véase también SelectionMode y SelectionBehavior.
showDropIndicator : bool
Esta propiedad mantiene si el indicador de soltar se muestra cuando se arrastran elementos y se sueltan.
Funciones de acceso:
| bool | showDropIndicator() const |
| void | setDropIndicatorShown(bool enable) |
Véase también dragEnabled, DragDropMode, dragDropOverwriteMode, y acceptDrops.
tabKeyNavigation : bool
Esta propiedad indica si está activada la navegación de elementos con tabulación y retrotabulación.
Funciones de acceso:
| bool | tabKeyNavigation() const |
| void | setTabKeyNavigation(bool enable) |
textElideMode : Qt::TextElideMode
Esta propiedad mantiene la posición del "..." en el texto elidido.
El valor por defecto para todas las vistas de elementos es Qt::ElideRight.
Funciones de acceso:
| Qt::TextElideMode | textElideMode() const |
| void | setTextElideMode(Qt::TextElideMode mode) |
[since 6.9] updateThreshold : int
Esta propiedad contiene la cantidad de índices cambiados para desencadenar directamente una actualización completa de la vista dentro de dataChanged().
El algoritmo dentro de dataChanged() intenta minimizar una actualización completa de la vista calculando si los índices cambiados son visibles o no. Para modelos muy grandes, con muchos cambios grandes, esto puede llevar más tiempo que la actualización real, por lo que es contraproducente. Esta propiedad permite controlar el algoritmo para que omita la comprobación y active directamente una actualización completa cuando la cantidad de índices modificados supere el valor dado.
El valor por defecto es 200.
Esta propiedad se introdujo en Qt 6.9.
Funciones de acceso:
| int | updateThreshold() const |
| void | setUpdateThreshold(int threshold) |
Véase también dataChanged().
verticalScrollMode : ScrollMode
cómo la vista desplaza su contenido en dirección vertical
Esta propiedad controla cómo la vista desplaza su contenido verticalmente. El desplazamiento puede hacerse por píxel o por elemento. Su valor por defecto proviene del estilo a través de la sugerencia de estilo QStyle::SH_ItemView_ScrollMode.
Funciones de acceso:
| QAbstractItemView::ScrollMode | verticalScrollMode() const |
| void | setVerticalScrollMode(QAbstractItemView::ScrollMode mode) |
| void | resetVerticalScrollMode() |
Documentación de funciones miembro
[explicit] QAbstractItemView::QAbstractItemView(QWidget *parent = nullptr)
Construye una vista abstracta de artículo con la dirección parent.
[virtual noexcept] QAbstractItemView::~QAbstractItemView()
Destruye la vista.
[signal] void QAbstractItemView::activated(const QModelIndex &index)
Esta señal se emite cuando el elemento especificado por index es activado por el usuario. La forma de activar los elementos depende de la plataforma; por ejemplo, haciendo un solo clic o doble clic en el elemento, o pulsando la tecla Retorno o Intro cuando el elemento está activo.
Véase también clicked(), doubleClicked(), entered() y pressed().
[slot] void QAbstractItemView::clearSelection()
Deselecciona todos los elementos seleccionados. El índice actual no se modificará.
Véase también setSelection() y selectAll().
[signal] void QAbstractItemView::clicked(const QModelIndex &index)
Esta señal se emite cuando se pulsa el botón izquierdo del ratón. El elemento sobre el que se ha hecho clic se especifica en index. La señal sólo se emite cuando el índice es válido.
Véase también activated(), doubleClicked(), entered() y pressed().
[virtual protected slot] void QAbstractItemView::closeEditor(QWidget *editor, QAbstractItemDelegate::EndEditHint hint)
Cierra el editor dado y lo libera. hint se utiliza para especificar cómo debe responder la vista al final de la operación de edición. Por ejemplo, la sugerencia puede indicar que el siguiente elemento de la vista debe abrirse para su edición.
Véase también edit() y commitData().
void QAbstractItemView::closePersistentEditor(const QModelIndex &index)
Cierra el editor persistente del elemento en la dirección index.
Véase también openPersistentEditor() y isPersistentEditorOpen().
[virtual protected slot] void QAbstractItemView::commitData(QWidget *editor)
Consigna los datos de editor en el modelo.
Véase también closeEditor().
[virtual protected slot] void QAbstractItemView::currentChanged(const QModelIndex ¤t, const QModelIndex &previous)
Esta ranura se activa cuando un nuevo elemento se convierte en el elemento actual. El elemento actual anterior se especifica mediante el índice previous, y el nuevo elemento mediante el índice current.
Si desea conocer los cambios en los elementos, consulte la señal dataChanged().
QModelIndex QAbstractItemView::currentIndex() const
Devuelve el índice del modelo del elemento actual.
Véase también setCurrentIndex().
[virtual protected slot] void QAbstractItemView::dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QList<int> &roles = QList<int>())
Esta ranura se activa cuando se modifican en el modelo elementos con la dirección roles. Los elementos modificados son los comprendidos entre topLeft y bottomRight, ambos inclusive. Si sólo se modifica un elemento topLeft == bottomRight.
El roles que ha sido cambiado puede ser un contenedor vacío (lo que significa que todo ha cambiado), o un contenedor no vacío con el subconjunto de roles que han cambiado.
Nota : : Qt::ToolTipRole no es respetado por dataChanged() en las vistas proporcionadas por Qt.
[protected] QPoint QAbstractItemView::dirtyRegionOffset() const
Devuelve el desplazamiento de las regiones sucias en la vista.
Si usas scrollDirtyRegion() e implementas un paintEvent() en una subclase de QAbstractItemView, debes traducir el área dada por el evento paint con el offset devuelto por esta función.
Véase también scrollDirtyRegion() y setDirtyRegion().
[signal] void QAbstractItemView::doubleClicked(const QModelIndex &index)
Esta señal se emite cuando se hace doble clic sobre un botón del ratón. El elemento sobre el que se ha hecho doble clic se especifica en index. La señal sólo se emite cuando el índice es válido.
Véase también clicked() y activated().
[override virtual protected] void QAbstractItemView::dragEnterEvent(QDragEnterEvent *event)
Reimplementa: QAbstractScrollArea::dragEnterEvent(QDragEnterEvent *event).
Esta función es llamada con el event dado cuando una operación de arrastrar y soltar entra en el widget. Si el arrastre se realiza sobre un lugar de soltado válido (por ejemplo, sobre un elemento que acepta soltados), el evento es aceptado; en caso contrario es ignorado.
Véase también dropEvent() y startDrag().
[override virtual protected] void QAbstractItemView::dragLeaveEvent(QDragLeaveEvent *event)
Reimplementa: QAbstractScrollArea::dragLeaveEvent(QDragLeaveEvent *event).
Esta función es llamada cuando el elemento arrastrado abandona la vista. El event describe el estado de la operación de arrastrar y soltar.
[override virtual protected] void QAbstractItemView::dragMoveEvent(QDragMoveEvent *event)
Reimplementa: QAbstractScrollArea::dragMoveEvent(QDragMoveEvent *event).
Esta función es llamada continuamente con el event dado durante una operación de arrastrar y soltar sobre el widget. Puede hacer que la vista se desplace si, por ejemplo, el usuario arrastra una selección hasta el borde derecho o inferior de la vista. En este caso, el evento será aceptado; en caso contrario, será ignorado.
Véase también dropEvent() y startDrag().
[override virtual protected] void QAbstractItemView::dropEvent(QDropEvent *event)
Reimplementa: QAbstractScrollArea::dropEvent(QDropEvent *event).
Esta función es llamada con el event dado cuando ocurre un evento de caída sobre el widget. Si el modelo acepta la posición par el evento de caída es aceptado; en caso contrario es ignorado.
Ver también startDrag().
[protected] QAbstractItemView::DropIndicatorPosition QAbstractItemView::dropIndicatorPosition() const
Devuelve la posición del indicador de caída en relación con el elemento más cercano.
[slot] void QAbstractItemView::edit(const QModelIndex &index)
Inicia la edición del elemento correspondiente a la dirección index si es editable.
Tenga en cuenta que esta función no cambia el índice actual. Dado que el índice actual define los elementos siguiente y anterior a editar, los usuarios pueden encontrar que la navegación por teclado no funciona como se esperaba. Para proporcionar un comportamiento de navegación consistente, llame a setCurrentIndex() antes de esta función con el mismo índice de modelo.
Nota: Esta ranura está sobrecargada. Para conectarse a esta ranura:
// Connect using qOverload:
connect(sender, &SenderClass::signal,
abstractItemView, qOverload(&QAbstractItemView::edit));
// Or using a lambda as wrapper:
connect(sender, &SenderClass::signal,
abstractItemView, [receiver = abstractItemView](const QModelIndex &index) { receiver->edit(index); }); Véase también QModelIndex::flags().
[virtual protected] bool QAbstractItemView::edit(const QModelIndex &index, QAbstractItemView::EditTrigger trigger, QEvent *event)
Inicia la edición del elemento en index, creando un editor si es necesario, y devuelve true si el State de la vista es ahora EditingState; en caso contrario devuelve false.
La acción que provocó el proceso de edición se describe en trigger, y el evento asociado se especifica en event.
Se puede forzar la edición especificando que trigger sea QAbstractItemView::AllEditTriggers.
Véase también closeEditor().
[virtual protected slot] void QAbstractItemView::editorDestroyed(QObject *editor)
Esta función es llamada cuando el editor dado ha sido destruido.
Véase también closeEditor().
[signal] void QAbstractItemView::entered(const QModelIndex &index)
Esta señal se emite cuando el cursor del ratón entra en el elemento especificado por index. El seguimiento del ratón debe estar activado para que esta función funcione.
Véase también viewportEntered(), activated(), clicked(), doubleClicked(), y pressed().
[override virtual protected] bool QAbstractItemView::event(QEvent *event)
Reimplementa: QAbstractScrollArea::event(QEvent *event).
[override virtual protected] bool QAbstractItemView::eventFilter(QObject *object, QEvent *event)
Reimplementa: QObject::eventFilter(QObject *watched, QEvent *event).
[protected] void QAbstractItemView::executeDelayedItemsLayout()
Ejecuta los diseños programados sin esperar a que comience el procesamiento de eventos.
Véase también scheduleDelayedItemsLayout().
[override virtual protected] void QAbstractItemView::focusInEvent(QFocusEvent *event)
Reimplementa: QWidget::focusInEvent(QFocusEvent *event).
Esta función es llamada con el event dado cuando el widget obtiene el foco. Por defecto, el evento es ignorado.
Ver también setFocus() y focusOutEvent().
[override virtual protected] bool QAbstractItemView::focusNextPrevChild(bool next)
Reimplementa: QWidget::focusNextPrevChild(bool next).
[override virtual protected] void QAbstractItemView::focusOutEvent(QFocusEvent *event)
Reimplementa: QWidget::focusOutEvent(QFocusEvent *event).
Esta función es llamada con el event dado cuando el widget pierde el foco. Por defecto, el evento es ignorado.
Ver también clearFocus() y focusInEvent().
[pure virtual protected] int QAbstractItemView::horizontalOffset() const
Devuelve el desplazamiento horizontal de la vista.
En la clase base es una función virtual pura.
Véase también verticalOffset().
[pure virtual] QModelIndex QAbstractItemView::indexAt(const QPoint &point) const
Devuelve el índice del modelo del elemento en las coordenadas de la ventana gráfica point.
En la clase base se trata de una función virtual pura.
Véase también visualRect().
QWidget *QAbstractItemView::indexWidget(const QModelIndex &index) const
Devuelve el widget del elemento en la dirección index.
Véase también setIndexWidget().
[virtual protected, since 6.0] void QAbstractItemView::initViewItemOption(QStyleOptionViewItem *option) const
Inicializa la estructura option con la paleta, fuente, estado, alineaciones, etc. de la vista.
Nota: Las implementaciones de este método deberían comprobar la version de la estructura recibida, rellenar todos los miembros con los que la implementación esté familiarizada, y establecer el miembro version al soportado por la implementación antes de devolver.
Esta función se introdujo en Qt 6.0.
[override virtual protected] void QAbstractItemView::inputMethodEvent(QInputMethodEvent *event)
Reimplementa: QWidget::inputMethodEvent(QInputMethodEvent *event).
[override virtual] QVariant QAbstractItemView::inputMethodQuery(Qt::InputMethodQuery query) const
Reimplementa: QWidget::inputMethodQuery(Qt::InputMethodQuery query) const.
[pure virtual protected] bool QAbstractItemView::isIndexHidden(const QModelIndex &index) const
Devuelve true si el elemento al que hace referencia index está oculto en la vista; en caso contrario, devuelve false.
La ocultación es una característica específica de la vista. Por ejemplo, en TableView se puede marcar una columna como oculta o una fila en TreeView.
En la clase base se trata de una función virtual pura.
bool QAbstractItemView::isPersistentEditorOpen(const QModelIndex &index) const
Devuelve si hay un editor persistente abierto para el elemento en el índice index.
Véase también openPersistentEditor() y closePersistentEditor().
QAbstractItemDelegate *QAbstractItemView::itemDelegate() const
Devuelve el delegado de elemento utilizado por esta vista y modelo. Puede ser uno establecido con setItemDelegate(), o el predeterminado.
Véase también setItemDelegate().
QAbstractItemDelegate *QAbstractItemView::itemDelegateForColumn(int column) const
Devuelve el delegado de elemento utilizado por esta vista y modelo para el column dado . Puedes llamar a itemDelegate() para obtener un puntero al delegado actual para un índice dado.
Véase también setItemDelegateForColumn(), itemDelegateForRow() y itemDelegate().
[virtual, since 6.0] QAbstractItemDelegate *QAbstractItemView::itemDelegateForIndex(const QModelIndex &index) const
Devuelve el delegado de elemento utilizado por esta vista y modelo para el index dado .
Esta función se introdujo en Qt 6.0.
Véase también setItemDelegate(), setItemDelegateForRow() y setItemDelegateForColumn().
QAbstractItemDelegate *QAbstractItemView::itemDelegateForRow(int row) const
Devuelve el delegado de elemento utilizado por esta vista y modelo para el row dado , o nullptr si no se ha asignado ningún delegado. Puede llamar a itemDelegate() para obtener un puntero al delegado actual para un índice dado.
Véase también setItemDelegateForRow(), itemDelegateForColumn() y setItemDelegate().
[override virtual protected] void QAbstractItemView::keyPressEvent(QKeyEvent *event)
Reimplementa: QAbstractScrollArea::keyPressEvent(QKeyEvent *e).
Esta función es llamada con el event dado cuando un evento de tecla es enviado al widget. La implementación por defecto maneja el movimiento básico del cursor, p.e. Arriba, Abajo, Izquierda, Derecha, Home, PageUp, y PageDown; la señal activated() se emite si el índice actual es válido y se pulsa la tecla de activación (p.e. Enter o Return, dependiendo de la plataforma). En esta función, la edición se inicia al pulsar una tecla, por ejemplo, si se pulsa F2.
Véase también edit(), moveCursor(), keyboardSearch(), y tabKeyNavigation.
[virtual] void QAbstractItemView::keyboardSearch(const QString &search)
Se desplaza y selecciona el elemento que mejor coincide con la cadena search. Si no se encuentra ningún elemento, no ocurre nada.
En la implementación por defecto, la búsqueda se reinicia si search está vacío, o el intervalo de tiempo desde la última búsqueda ha excedido QApplication::keyboardInputInterval().
QAbstractItemModel *QAbstractItemView::model() const
Devuelve el modelo que presenta esta vista.
Véase también setModel().
[override virtual protected] void QAbstractItemView::mouseDoubleClickEvent(QMouseEvent *event)
Reimplementa: QAbstractScrollArea::mouseDoubleClickEvent(QMouseEvent *e).
Esta función es llamada con el event dado cuando un botón del ratón es pulsado dos veces dentro del widget. Si el doble click es sobre un item valido emite la señal doubleClicked() y llama a edit() sobre el item.
[override virtual protected] void QAbstractItemView::mouseMoveEvent(QMouseEvent *event)
Reimplementa: QAbstractScrollArea::mouseMoveEvent(QMouseEvent *e).
Esta función es llamada con el event dado cuando un evento de movimiento del ratón es enviado al widget. Si hay una selección en curso y se mueven nuevos elementos por encima, la selección se amplía; si hay un arrastre en curso, continúa.
[override virtual protected] void QAbstractItemView::mousePressEvent(QMouseEvent *event)
Reimplementa: QAbstractScrollArea::mousePressEvent(QMouseEvent *e).
Esta función es llamada con el event dado cuando se pulsa un botón del ratón mientras el cursor está dentro del widget. Si se pulsa sobre un elemento válido se convierte en el elemento actual. Esta función emite la señal pressed().
[override virtual protected] void QAbstractItemView::mouseReleaseEvent(QMouseEvent *event)
Reimplementa: QAbstractScrollArea::mouseReleaseEvent(QMouseEvent *e).
Esta función es llamada con el event dado cuando se suelta un botón del ratón, después de un evento de pulsación del ratón en el widget. Si un usuario presiona el ratón dentro de tu widget y luego arrastra el ratón a otro lugar antes de soltar el botón del ratón, tu widget recibe el evento de liberación. La función emitirá la señal clicked() si se estaba pulsando un elemento.
[pure virtual protected] QModelIndex QAbstractItemView::moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers)
Devuelve un objeto QModelIndex que apunta al siguiente objeto de la vista, basándose en el cursorAction dado y los modificadores de teclado especificados por modifiers.
En la clase base se trata de una función virtual pura.
void QAbstractItemView::openPersistentEditor(const QModelIndex &index)
Abre un editor persistente en el elemento en la dirección index. Si no existe ningún editor, el delegado creará uno nuevo.
Véase también closePersistentEditor() y isPersistentEditorOpen().
[signal] void QAbstractItemView::pressed(const QModelIndex &index)
Esta señal se emite cuando se pulsa un botón del ratón. El elemento sobre el que se ha pulsado se especifica en index. La señal sólo se emite cuando el índice es válido.
Utilice la función QGuiApplication::mouseButtons() para obtener el estado de los botones del ratón.
Véase también activated(), clicked(), doubleClicked() y entered().
[virtual slot] void QAbstractItemView::reset()
Restablece el estado interno de la vista.
Advertencia: Esta función restablecerá los editores abiertos, las posiciones de la barra de desplazamiento, las selecciones, etc. Los cambios existentes no se guardarán. Si desea guardar los cambios al restablecer la vista, puede reimplementar esta función, confirmar los cambios y, a continuación, llamar a la implementación de la superclase.
[override virtual protected] void QAbstractItemView::resizeEvent(QResizeEvent *event)
Reimplementa: QAbstractScrollArea::resizeEvent(QResizeEvent *event).
Esta función es llamada con el event dado cuando un evento de redimensionamiento es enviado al widget.
Ver también QWidget::resizeEvent().
QModelIndex QAbstractItemView::rootIndex() const
Devuelve el índice del elemento raíz del modelo. El elemento raíz es el elemento padre de los elementos de nivel superior de la vista. La raíz puede ser inválida.
Véase también setRootIndex().
[virtual protected slot] void QAbstractItemView::rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end)
Esta ranura se llama cuando se van a eliminar filas. Las filas eliminadas son las que están bajo el parent dado desde start hasta end inclusive.
Véase también rowsInserted().
[virtual protected slot] void QAbstractItemView::rowsInserted(const QModelIndex &parent, int start, int end)
Se llama a esta ranura cuando se insertan filas. Las nuevas filas son las que están bajo el parent dado desde start hasta end inclusive. La implementación de la clase base llama a fetchMore() en el modelo para comprobar si hay más datos.
Véase también rowsAboutToBeRemoved().
[protected] void QAbstractItemView::scheduleDelayedItemsLayout()
Programa una disposición de los elementos de la vista para que se ejecute cuando comience el procesamiento de eventos.
Incluso si scheduleDelayedItemsLayout() se llama varias veces antes de que se procesen los eventos, la vista sólo realizará la disposición una vez.
Véase también executeDelayedItemsLayout().
[protected] void QAbstractItemView::scrollDirtyRegion(int dx, int dy)
Prepara la vista para desplazarse (dx,dy) píxeles moviendo las regiones sucias en la dirección opuesta. Sólo necesita llamar a esta función si está implementando una ventana gráfica de desplazamiento en su subclase de vista.
Si implementa scrollContentsBy() en una subclase de QAbstractItemView, llame a esta función antes de llamar a QWidget::scroll() en la ventana gráfica. Como alternativa, basta con llamar a update().
Véase también scrollContentsBy(), dirtyRegionOffset(), y setDirtyRegion().
[pure virtual] void QAbstractItemView::scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint = EnsureVisible)
Desplaza la vista si es necesario para asegurarse de que el elemento en index es visible. La vista intentará posicionar el elemento de acuerdo con la dirección hint.
En la clase base esta es una función virtual pura.
[slot] void QAbstractItemView::scrollToBottom()
Desplaza la vista hacia abajo.
Véase también scrollTo() y scrollToTop().
[slot] void QAbstractItemView::scrollToTop()
Desplaza la vista a la parte superior.
Véase también scrollTo() y scrollToBottom().
[virtual slot] void QAbstractItemView::selectAll()
Selecciona todos los elementos de la vista. Esta función utilizará el comportamiento de selección establecido en la vista al seleccionar.
Véase también setSelection(), selectedIndexes(), y clearSelection().
[virtual protected] QModelIndexList QAbstractItemView::selectedIndexes() const
Esta función devuelve una lista de todos los índices de elementos seleccionados y no ocultos de la vista. La lista no contiene duplicados y no está ordenada.
Véase también QItemSelectionModel::selectedIndexes().
[virtual protected slot] void QAbstractItemView::selectionChanged(const QItemSelection &selected, const QItemSelection &deselected)
Esta ranura se llama cuando se cambia la selección. La selección anterior (que puede estar vacía), se especifica mediante deselected, y la nueva selección mediante selected.
Véase también setSelection().
[virtual protected] QItemSelectionModel::SelectionFlags QAbstractItemView::selectionCommand(const QModelIndex &index, const QEvent *event = nullptr) const
Devuelve las SelectionFlags que se utilizarán al actualizar un modelo de selección para el index especificado. El resultado depende de la selectionMode() actual, y del evento de entrada del usuario event, que puede ser nullptr.
Reimplemente esta función para definir su propio comportamiento de selección.
Véase también setSelection().
QItemSelectionModel *QAbstractItemView::selectionModel() const
Devuelve el modelo de selección actual.
Véase también setSelectionModel() y selectedIndexes().
[slot] void QAbstractItemView::setCurrentIndex(const QModelIndex &index)
Establece el elemento actual en index.
A menos que el modo de selección actual sea NoSelection, el elemento también se selecciona. Tenga en cuenta que esta función también actualiza la posición inicial para cualquier nueva selección que realice el usuario.
Para establecer un elemento como el elemento actual sin seleccionarlo, llame a
selectionModel()->setCurrentIndex(index, QItemSelectionModel::NoUpdate);
Véase también currentIndex(), currentChanged(), y selectionMode.
[protected] void QAbstractItemView::setDirtyRegion(const QRegion ®ion)
Marca el region dado como sucio y programa su actualización. Sólo necesitas llamar a esta función si estás implementando tu propia subclase de vista.
Véase también scrollDirtyRegion() y dirtyRegionOffset().
void QAbstractItemView::setIndexWidget(const QModelIndex &index, QWidget *widget)
Establece el widget dado en el elemento en el index dado , pasando la propiedad del widget a la ventana gráfica.
Si index no es válido (por ejemplo, si se pasa el índice raíz), esta función no hará nada.
La propiedad autoFillBackground de widget debe ser verdadera, de lo contrario el fondo del widget será transparente, mostrando tanto los datos del modelo como el elemento en index.
Nota: La vista toma posesión del widget. Esto significa que si el widget de índice A es reemplazado por el widget de índice B, el widget de índice A será eliminado. Por ejemplo, en el fragmento de código siguiente, se eliminará el objeto QLineEdit.
Esta función sólo debe utilizarse para mostrar contenido estático dentro del área visible correspondiente a un elemento de datos. Si desea mostrar contenido dinámico personalizado o implementar un widget de editor personalizado, subclase QStyledItemDelegate en su lugar.
Véase también indexWidget() y Clases delegadas.
void QAbstractItemView::setItemDelegate(QAbstractItemDelegate *delegate)
Establece el delegado de elementos para esta vista y su modelo en delegate. Esto es útil si desea un control completo sobre la edición y visualización de elementos.
Cualquier delegado existente será eliminado, pero no borrado. QAbstractItemView no se apropia de delegate.
Advertencia: No debe compartir la misma instancia de un delegado entre vistas. Hacerlo puede causar un comportamiento de edición incorrecto o poco intuitivo, ya que cada vista conectada a un delegado dado puede recibir la señal closeEditor(), e intentar acceder, modificar o cerrar un editor que ya ha sido cerrado.
Véase también itemDelegate().
void QAbstractItemView::setItemDelegateForColumn(int column, QAbstractItemDelegate *delegate)
Establece el elemento dado delegate utilizado por esta vista y modelo para el column dado. Todos los elementos en column serán dibujados y gestionados por delegate en lugar de utilizar el delegado por defecto (es decir, itemDelegate()).
Cualquier delegado de columna existente para column será eliminado, pero no borrado. QAbstractItemView no se apropia de delegate.
Nota: Si se ha asignado un delegado tanto a una fila como a una columna, el delegado de la fila tendrá prioridad y gestionará el índice de la celda de intersección.
Advertencia: No debe compartir la misma instancia de un delegado entre vistas. Hacerlo puede provocar un comportamiento de edición incorrecto o poco intuitivo, ya que cada vista conectada a un delegado determinado puede recibir la señal closeEditor(), e intentar acceder, modificar o cerrar un editor que ya ha sido cerrado.
Véase también itemDelegateForColumn(), setItemDelegateForRow(), y itemDelegate().
void QAbstractItemView::setItemDelegateForRow(int row, QAbstractItemDelegate *delegate)
Establece el elemento dado delegate utilizado por esta vista y modelo para el row dado. Todos los elementos en row serán dibujados y gestionados por delegate en lugar de utilizar el delegado por defecto (es decir, itemDelegate()).
Cualquier delegado de fila existente para row será eliminado, pero no borrado. QAbstractItemView no toma la propiedad de delegate.
Nota: Si se ha asignado un delegado tanto a una fila como a una columna, el delegado de la fila (es decir, este delegado) tendrá prioridad y gestionará el índice de la celda de intersección.
Advertencia: No debes compartir la misma instancia de un delegado entre vistas. Hacerlo puede provocar un comportamiento de edición incorrecto o poco intuitivo, ya que cada vista conectada a un delegado determinado puede recibir la señal closeEditor() e intentar acceder, modificar o cerrar un editor que ya ha sido cerrado.
Véase también itemDelegateForRow(), setItemDelegateForColumn(), y itemDelegate().
[virtual] void QAbstractItemView::setModel(QAbstractItemModel *model)
Establece el model para la vista a presentar.
Esta función creará y establecerá un nuevo modelo de selección, reemplazando cualquier modelo que haya sido establecido previamente con setSelectionModel(). Sin embargo, el modelo de selección antiguo no se borrará, ya que puede estar compartido entre varias vistas. Le recomendamos que elimine el modelo de selección antiguo si ya no es necesario. Esto se hace con el siguiente código:
QItemSelectionModel *m = view->selectionModel(); view->setModel(new model); delete m;
Si tanto el modelo antiguo como el modelo de selección antiguo no tienen padres, o si sus padres son objetos de larga vida, puede ser preferible llamar a sus funciones deleteLater() para borrarlos explícitamente.
La vista no toma posesión del modelo a menos que sea el objeto padre del modelo, ya que el modelo puede ser compartido entre muchas vistas diferentes.
Véase también model(), selectionModel() y setSelectionModel().
[virtual slot] void QAbstractItemView::setRootIndex(const QModelIndex &index)
Establece el elemento raíz en el elemento indicado en index.
Véase también rootIndex().
[pure virtual protected] void QAbstractItemView::setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags flags)
Aplica la selección flags a los ítems dentro o tocados por el rectángulo, rect.
Cuando implemente su propio itemview setSelection debería llamar a selectionModel()->select(selection, flags) donde selection es un QModelIndex vacío o un QItemSelection que contiene todos los elementos que están contenidos en rect.
Véase también selectionCommand() y selectedIndexes().
[virtual] void QAbstractItemView::setSelectionModel(QItemSelectionModel *selectionModel)
Establece el modelo de selección actual en selectionModel.
Tenga en cuenta que, si llama a setModel() después de esta función, el selectionModel dado será reemplazado por uno creado por la vista.
Nota: Es responsabilidad de la aplicación eliminar el modelo de selección antiguo si ya no es necesario; es decir, si no está siendo utilizado por otras vistas. Esto ocurrirá automáticamente cuando se elimine su objeto padre. Sin embargo, si no tiene padre, o si el padre es un objeto de larga vida, puede ser preferible llamar a su función deleteLater() para borrarlo explícitamente.
Véase también selectionModel(), setModel() y clearSelection().
[protected] void QAbstractItemView::setState(QAbstractItemView::State state)
Establece el estado de la vista del elemento en la dirección state.
Véase también state().
[virtual] int QAbstractItemView::sizeHintForColumn(int column) const
Devuelve la sugerencia de tamaño de anchura para el column especificado o -1 si no hay modelo.
Esta función se utiliza en vistas con una cabecera horizontal para encontrar la sugerencia de tamaño para una sección de cabecera basada en el contenido del column dado.
Véase también sizeHintForRow().
QSize QAbstractItemView::sizeHintForIndex(const QModelIndex &index) const
Devuelve la sugerencia de tamaño para el elemento con el index especificado o un tamaño no válido para índices no válidos.
Véase también sizeHintForRow() y sizeHintForColumn().
[virtual] int QAbstractItemView::sizeHintForRow(int row) const
Devuelve la sugerencia de tamaño de altura para el row especificado o -1 si no hay modelo.
La altura devuelta se calcula utilizando las sugerencias de tamaño de los elementos de row, es decir, el valor devuelto es la altura máxima entre los elementos. Tenga en cuenta que para controlar la altura de una fila, debe reimplementar la función QAbstractItemDelegate::sizeHint().
Esta función se utiliza en vistas con una cabecera vertical para encontrar la sugerencia de tamaño para una sección de cabecera basada en el contenido del row dado.
Véase también sizeHintForColumn().
[virtual protected] void QAbstractItemView::startDrag(Qt::DropActions supportedActions)
Inicia un arrastre llamando a drag->exec() utilizando la dirección supportedActions.
[protected] QAbstractItemView::State QAbstractItemView::state() const
Devuelve el estado de la vista del artículo.
Véase también setState().
[override virtual protected] void QAbstractItemView::timerEvent(QTimerEvent *event)
Reimplementa: QObject::timerEvent(QTimerEvent *event).
Esta función es llamada con el event dado cuando un evento de temporizador es enviado al widget.
Ver también QObject::timerEvent().
[slot] void QAbstractItemView::update(const QModelIndex &index)
Actualiza el área ocupada por la dirección index.
[virtual protected slot] void QAbstractItemView::updateGeometries()
Actualiza la geometría de los widgets hijos de la vista.
[pure virtual protected] int QAbstractItemView::verticalOffset() const
Devuelve el desplazamiento vertical de la vista.
En la clase base se trata de una función virtual pura.
Véase también horizontalOffset().
[signal] void QAbstractItemView::viewportEntered()
Esta señal se emite cuando el cursor del ratón entra en la ventana gráfica. El seguimiento del ratón debe estar activado para que esta función funcione.
Véase también entered().
[override virtual protected] bool QAbstractItemView::viewportEvent(QEvent *event)
Reimplementa: QAbstractScrollArea::viewportEvent(QEvent *event).
Esta función se utiliza para manejar consejos de herramientas, y el modo ¿Qué es esto?, si el event dado es un QEvent::ToolTip,o un QEvent::WhatsThis. Pasa todos los demás eventos a su clase base viewportEvent() handler.
Devuelve true si event ha sido reconocido y procesado; en caso contrario, devuelve false.
[override virtual protected] QSize QAbstractItemView::viewportSizeHint() const
Reimplementa: QAbstractScrollArea::viewportSizeHint() const.
[pure virtual] QRect QAbstractItemView::visualRect(const QModelIndex &index) const
Devuelve el rectángulo en la ventana gráfica ocupado por el elemento en index.
Si tu ítem se muestra en varias áreas entonces visualRect debería devolver el área primaria que contiene a index y no el área completa que index podría abarcar, tocar o provocar el dibujo.
En la clase base esta es una función virtual pura.
Véase también indexAt() y visualRegionForSelection().
[pure virtual protected] QRegion QAbstractItemView::visualRegionForSelection(const QItemSelection &selection) const
Devuelve la región de la ventana gráfica de los elementos en la dirección selection.
En la clase base se trata de una función virtual pura.
Véase también visualRect() y selectedIndexes().
© 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.