En esta página

QItemSelection Class

La clase QItemSelection gestiona la información sobre los elementos seleccionados en un modelo. Más...

Cabecera: #include <QItemSelection>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
Hereda: QList

Funciones Públicas

QItemSelection()
QItemSelection(const QModelIndex &topLeft, const QModelIndex &bottomRight)
bool contains(const QModelIndex &index) const
QModelIndexList indexes() const
void merge(const QItemSelection &other, QItemSelectionModel::SelectionFlags command)
void select(const QModelIndex &topLeft, const QModelIndex &bottomRight)

Miembros públicos estáticos

void split(const QItemSelectionRange &range, const QItemSelectionRange &other, QItemSelection *result)

Descripción Detallada

Un QItemSelection describe los elementos de un modelo que han sido seleccionados por el usuario. Un QItemSelection es básicamente una lista de rangos de selección, ver QItemSelectionRange. Proporciona funciones para crear y manipular selecciones, y seleccionar un rango de elementos de un modelo.

La clase QItemSelection es una de las Clases Modelo/Vista y forma parte del framework modelo/vista de Qt.

Una selección de elementos puede ser construida e inicializada para contener un rango de elementos de un modelo existente. El siguiente ejemplo construye una selección que contiene un rango de elementos de model, comenzando en topLeft, y terminando en bottomRight.

QItemSelection *selection = new QItemSelection(topLeft, bottomRight);

Se puede construir una selección de elementos vacía y rellenarla posteriormente según sea necesario. Por lo tanto, si el modelo no va a estar disponible cuando construyamos la selección de elementos, podemos reescribir el código anterior de la siguiente manera:

QItemSelection *selection = new QItemSelection();
//...
selection->select(topLeft, bottomRight);

QItemSelection ahorra memoria, y evita trabajo innecesario, al trabajar con rangos de selección en lugar de registrar el índice de elemento del modelo para cada elemento de la selección. Generalmente, una instancia de esta clase contendrá una lista de rangos de selección no solapados.

Utilice merge() para fusionar una selección de elementos en otra sin que se solapen los rangos. Utilice split() para dividir un rango de selección en rangos más pequeños basados en otro rango de selección.

Véase también Programación Modelo/Vista y QItemSelectionModel.

Documentación de funciones miembro

[default] QItemSelection::QItemSelection()

Construye una selección vacía.

QItemSelection::QItemSelection(const QModelIndex &topLeft, const QModelIndex &bottomRight)

Construye una selección de elementos que se extiende desde el elemento superior izquierdo del modelo, especificado por el índice topLeft, hasta el elemento inferior derecho, especificado por bottomRight.

bool QItemSelection::contains(const QModelIndex &index) const

Devuelve true si la selección contiene el index dado ; en caso contrario devuelve false.

QModelIndexList QItemSelection::indexes() const

Devuelve una lista de índices de modelos que corresponden a los elementos seleccionados.

void QItemSelection::merge(const QItemSelection &other, QItemSelectionModel::SelectionFlags command)

Fusiona la selección other con esta QItemSelection utilizando la command dada. Este método garantiza que ningún rango se superponga.

Tenga en cuenta que sólo se admiten QItemSelectionModel::Select, QItemSelectionModel::Deselect y QItemSelectionModel::Toggle.

Véase también split().

void QItemSelection::select(const QModelIndex &topLeft, const QModelIndex &bottomRight)

Añade a la lista los elementos del rango que se extiende desde el elemento superior izquierdo del modelo, especificado por el índice topLeft, hasta el elemento inferior derecho, especificado por bottomRight.

Nota: topLeft y bottomRight deben tener el mismo padre.

[static] void QItemSelection::split(const QItemSelectionRange &range, const QItemSelectionRange &other, QItemSelection *result)

Divide la selección range utilizando el rango de selección other. Elimina todos los elementos de other de range y coloca el resultado en result. Esto puede compararse con la semántica de la operación de sustracción de un conjunto.

Véase también merge().

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