Класс 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.9/qitemselection.html