- Qt 6.8
- Qt Core
- C++ Classes
- QItemSelectionRange
- Qt 6.8.3 Reference Documentation

# QItemSelectionRange Class

The QItemSelectionRange class manages information about a range of selected items in a model. More...

Header: | `#include <QItemSelectionRange>`
CMake: | `find_package(Qt6 REQUIRED COMPONENTS Core)` `target_link_libraries(mytarget PRIVATE Qt6::Core)`
qmake: | `QT += core`

- List of all members, including inherited members

This class is equality-comparable.

## Public Functions

| QItemSelectionRange()
| QItemSelectionRange(const QModelIndex &index)
| QItemSelectionRange(const QModelIndex &topLeft, const QModelIndex &bottomRight)
int | bottom() const
const QPersistentModelIndex & | bottomRight() const
bool | contains(const QModelIndex &index) const
bool | contains(int row, int column, const QModelIndex &parentIndex) const
int | height() const
QModelIndexList | indexes() const
QItemSelectionRange | intersected(const QItemSelectionRange &other) const
bool | intersects(const QItemSelectionRange &other) const
bool | isEmpty() const
bool | isValid() const
int | left() const
const QAbstractItemModel * | model() const
QModelIndex | parent() const
int | right() const
void | swap(QItemSelectionRange &other)
int | top() const
const QPersistentModelIndex & | topLeft() const
int | width() const

## Related Non-Members

bool | operator!=(const QItemSelectionRange &lhs, const QItemSelectionRange &rhs)
bool | operator==(const QItemSelectionRange &lhs, const QItemSelectionRange &rhs)

## Detailed Description

A QItemSelectionRange contains information about a range of selected items in a model. A range of items is a contiguous array of model items, extending to cover a number of adjacent rows and columns with a common parent item; this can be visualized as a two-dimensional block of cells in a table. A selection range has a top(), left() a bottom(), right() and a parent().

The QItemSelectionRange class is one of the Model/View Classes and is part of Qt's model/view framework.

The model items contained in the selection range can be obtained using the indexes() function. Use QItemSelectionModel::selectedIndexes() to get a list of all selected items for a view.

You can determine whether a given model item lies within a particular range by using the contains() function. Ranges can also be compared using the overloaded operators for equality and inequality, and the intersects() function allows you to determine whether two ranges overlap.

See also Model/View Programming, QAbstractItemModel, QItemSelection, and QItemSelectionModel.

## Member Function Documentation

### `[noexcept]` QItemSelectionRange::QItemSelectionRange()

Constructs an empty selection range.

### `[explicit]` QItemSelectionRange::QItemSelectionRange(const QModelIndex &index)

Constructs a new selection range containing only the model item specified by the model index index.

### QItemSelectionRange::QItemSelectionRange(const QModelIndex &topLeft, const QModelIndex &bottomRight)

Constructs a new selection range containing only the index specified by the topLeft and the index bottomRight.

### int QItemSelectionRange::bottom() const

Returns the row index corresponding to the lowermost selected row in the selection range.

### const QPersistentModelIndex &QItemSelectionRange::bottomRight() const

Returns the index for the item located at the bottom-right corner of the selection range.

See also bottom(), right(), and topLeft().

### bool QItemSelectionRange::contains(const QModelIndex &index) const

Returns `true` if the model item specified by the index lies within the range of selected items; otherwise returns `false`.

### bool QItemSelectionRange::contains(int row, int column, const QModelIndex &parentIndex) const

This is an overloaded function.

Returns `true` if the model item specified by (row, column) and with parentIndex as the parent item lies within the range of selected items; otherwise returns `false`.

### int QItemSelectionRange::height() const

Returns the number of selected rows in the selection range.

### QModelIndexList QItemSelectionRange::indexes() const

Returns the list of model index items stored in the selection.

### QItemSelectionRange QItemSelectionRange::intersected(const QItemSelectionRange &other) const

Returns a new selection range containing only the items that are found in both the selection range and the other selection range.

### bool QItemSelectionRange::intersects(const QItemSelectionRange &other) const

Returns `true` if this selection range intersects (overlaps with) the other range given; otherwise returns `false`.

### bool QItemSelectionRange::isEmpty() const

Returns `true` if the selection range contains either no items or only items which are either disabled or marked as not selectable.

### bool QItemSelectionRange::isValid() const

Returns `true` if the selection range is valid; otherwise returns `false`.

### int QItemSelectionRange::left() const

Returns the column index corresponding to the leftmost selected column in the selection range.

### const QAbstractItemModel *QItemSelectionRange::model() const

Returns the model that the items in the selection range belong to.

### QModelIndex QItemSelectionRange::parent() const

Returns the parent model item index of the items in the selection range.

### int QItemSelectionRange::right() const

Returns the column index corresponding to the rightmost selected column in the selection range.

### `[noexcept]` void QItemSelectionRange::swap(QItemSelectionRange &other)

Swaps this selection range's contents with other. This operation is very fast and never fails.

### int QItemSelectionRange::top() const

Returns the row index corresponding to the uppermost selected row in the selection range.

### const QPersistentModelIndex &QItemSelectionRange::topLeft() const

Returns the index for the item located at the top-left corner of the selection range.

See also top(), left(), and bottomRight().

### int QItemSelectionRange::width() const

Returns the number of selected columns in the selection range.

## Related Non-Members

### `[noexcept]` bool operator!=(const QItemSelectionRange &lhs, const QItemSelectionRange &rhs)

Returns `true` if lhs selection range differs from the rhs range given; otherwise returns `false`.

### `[noexcept]` bool operator==(const QItemSelectionRange &lhs, const QItemSelectionRange &rhs)

Returns `true` if lhs selection range is exactly the same as the rhs range given; otherwise returns `false`.