|  | Home · Overviews · Examples |

# QItemSelection Class Reference
[com.trolltech.qt.gui module]

The `QItemSelection` class manages information about selected items in a model. More...

## Detailed Description

The `QItemSelection` class manages information about selected items in a model.

A `QItemSelection` describes the items in a model that have been selected by the user. A `QItemSelection` is basically a list of selection ranges, see `QItemSelectionRange`. It provides functions for creating and manipulating selections, and selecting a range of items from a model.

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

An item selection can be constructed and initialized to contain a range of items from an existing model. The following example constructs a selection that contains a range of items from the given `model`, beginning at the `topLeft`, and ending at the `bottomRight`.

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

An empty item selection can be constructed, and later populated as required. So, if the model is going to be unavailable when we construct the item selection, we can rewrite the above code in the following way:

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

`QItemSelection` saves memory, and avoids unnecessary work, by working with selection ranges rather than recording the model item index for each item in the selection. Generally, an instance of this class will contain a list of non-overlapping selection ranges.

Use `merge` to merge one item selection into another without making overlapping ranges. Use split() to split one selection range into smaller ranges based on a another selection range.

See also Model/View Programming and `QItemSelectionModel`.