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

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

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.

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