Spec-Zone.ru › Qt 5.12

Класс QItemSelection

Класс QItemSelection управляет информацией об выбранных элементах в модели. Подробнее...

Заголовок: #include <QItemSelection>
qmake: QT += core
Наследует: QList
  • Список всех членов, включая унаследованные

Открытые функции

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)
  • 78 открытых функций, унаследованных от QList

Статические открытые члены

void split(const QItemSelectionRange &range, const QItemSelectionRange &other, QItemSelection *result)
  • 3 статических открытых члена, унаследованных от QList

Подробное описание

Класс QItemSelection управляет информацией об выбранных элементах в модели.

Объект QItemSelection описывает элементы в модели, которые были выбраны пользователем. QItemSelection по сути является списком областей выделения, см. QItemSelectionRange. Он предоставляет функции для создания и управления выделениями и выделения диапазона элементов из модели.

Класс QItemSelection является одним из классов Модель/Представление и входит в фреймворк модели/представления Qt.

Выделение элементов может быть создано и инициализировано, чтобы содержать диапазон элементов из существующей модели. В следующем примере создается выделение, которое содержит диапазон элементов из заданной model, начиная с topLeft, и заканчивая bottomRight.

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

Можно создать пустое выделение элементов и позже заполнить его по мере необходимости. Таким образом, если модель будет недоступна при создании выделения элементов, мы можем переписать приведенный выше код следующим образом:

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

QItemSelection экономит память и избегает ненужной работы, работая с диапазонами выделения, а не записывая индекс элемента модели для каждого элемента в выделении. В общем случае экземпляр этого класса будет содержать список неперекрывающихся диапазонов выделения.

Используйте merge(), чтобы объединить одно выделение элементов в другое без перекрывающихся диапазонов. Используйте split(), чтобы разделить один диапазон выделения на меньшие диапазоны на основе другого диапазона выделения.

См. также Моделирование/Представление и QItemSelectionModel.

Документация по функциям-членам

QItemSelection::QItemSelection()

Создает пустое выделение.

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

Создает выделение элементов, которое простирается от верхнего левого элемента модели, указанного индексом topLeft, до нижнего правого элемента, указанного индексом bottomRight.

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

Возвращает true , если выделение содержит заданный индекс index; в противном случае возвращает false.

QModelIndexList QItemSelection::indexes() const

Возвращает список индексов модели, соответствующих выделенным элементам.

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

Объединяет выделение other с данным QItemSelection с использованием заданного command. Этот метод гарантирует, что диапазоны не перекрываются.

Обратите внимание, что поддерживаются только QItemSelectionModel::Select, QItemSelectionModel::Deselect и QItemSelectionModel::Toggle.

См. также split().

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

Добавляет элементы в диапазон, простирающийся от верхнего левого элемента модели, указанного индексом topLeft, до нижнего правого элемента, указанного индексом bottomRight, в список.

Примечание: topLeft и bottomRight должны иметь того же родителя.

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

Разделяет выделение range с использованием диапазона выделения other. Удаляет все элементы в other из range и помещает результат в result. Это можно сравнить с операцией вычитания множества.

См. также merge().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qitemselection.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API