Spec-Zone.ru › Qt 5.11

Класс QItemSelectionModel

Класс QItemSelectionModel отслеживает выделенные элементы в представлении. Подробнее...

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

Типы публичного доступа

перечисление SelectionFlag { НетОбновления, Очистить, Выделить, ОтменитьВыделение, ..., ОчиститьИВыделить }
флаги SelectionFlags

Свойства

  • selectedIndexes : const QModelIndexList
  • 1 свойство унаследовано от QObject

Функции публичного доступа

QItemSelectionModel(QAbstractItemModel *model = nullptr)
QItemSelectionModel(QAbstractItemModel *model, QObject *parent)
виртуальный ~QItemSelectionModel()
bool columnIntersectsSelection(int column, const QModelIndex &parent) const
QModelIndex currentIndex() const
bool hasSelection() const
bool isColumnSelected(int column, const QModelIndex &parent) const
bool isRowSelected(int row, const QModelIndex &parent) const
bool isSelected(const QModelIndex &index) const
const QAbstractItemModel * model() const
QAbstractItemModel * model()
bool rowIntersectsSelection(int row, const QModelIndex &parent) const
QModelIndexList selectedColumns(int row = 0) const
QModelIndexList selectedIndexes() const
QModelIndexList selectedRows(int column = 0) const
const QItemSelection selection() const
void setModel(QAbstractItemModel *model)
  • 32 функции публичного доступа унаследованы от QObject

Свойства-слоты

виртуальный void clear()
виртуальный void clearCurrentIndex()
void clearSelection()
виртуальный void reset()
виртуальный void select(const QModelIndex &index, QItemSelectionModel::SelectionFlags command)
виртуальный void select(const QItemSelection &selection, QItemSelectionModel::SelectionFlags command)
виртуальный void setCurrentIndex(const QModelIndex &index, QItemSelectionModel::SelectionFlags command)
  • 1 свойство-слот унаследовано от QObject

Сигналы

void currentChanged(const QModelIndex &current, const QModelIndex &previous)
void currentColumnChanged(const QModelIndex &current, const QModelIndex &previous)
void currentRowChanged(const QModelIndex &current, const QModelIndex &previous)
void modelChanged(QAbstractItemModel *model)
void selectionChanged(const QItemSelection &selected, const QItemSelection &deselected)
  • 2 сигнала унаследованы от QObject

Защищенные функции

void emitSelectionChanged(const QItemSelection &newSelection, const QItemSelection &oldSelection)
  • 9 защищенных функций унаследованы от QObject

Дополнительные унаследованные члены

  • 11 статических публичных членов унаследованы от QObject

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

Класс QItemSelectionModel отслеживает выделенные элементы в представлении.

Класс QItemSelectionModel отслеживает выделенные элементы в представлении или в нескольких представлениях одного и того же модели. Также он отслеживает текущий выделенный элемент в представлении.

Класс QItemSelectionModel относится к моделям/представлениям Qt и входит в модель/представление Qt.

Выделенные элементы хранятся с помощью диапазонов. При необходимости изменить выделенные элементы используйте select() и передайте либо QItemSelection, либо QModelIndex и QItemSelectionModel::SelectionFlag.

Класс QItemSelectionModel использует двухступенчатый подход к управлению выделением, обрабатывая как выделенные элементы, подтверждённые действием, так и элементы, составляющие текущее выделение. Текущие выделенные элементы являются частью текущего интерактивного выделения (например, выделение резиновым прямоугольником или выделение с помощью клавиши Shift).

Чтобы обновить текущие выделенные элементы, используйте побитовое ИЛИ QItemSelectionModel::Current и любой другой SelectionFlags. Если вы опустите команду QItemSelectionModel::Current, будет создано новое текущее выделение, а предыдущее будет добавлено к общему выделению. Все функции работают с обеими слоями; например, selecteditems() вернет элементы из обоих слоёв.

Примечание: Начиная с версии 5.5, model, hasSelection и currentIndex являются свойствами метаобъектов.

См. также Модели/Представления Qt, QAbstractItemModel и Пример Диаграммы.

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

перечисление QItemSelectionModel::SelectionFlagфлаги QItemSelectionModel::SelectionFlags

Это перечисление описывает способ обновления модели выделения.

Постоянная Значение Описание
QItemSelectionModel::NoUpdate 0x0000 Выбор не будет произведён.
QItemSelectionModel::Clear 0x0001 Выбранный элемент будет полностью очищен.
QItemSelectionModel::Select 0x0002 Все указанные индексы будут выбраны.
QItemSelectionModel::Deselect 0x0004 Все указанные индексы будут сняты с выбора.
QItemSelectionModel::Toggle 0x0008 Все указанные индексы будут выбраны или сняты с выбора в зависимости от их текущего состояния.
QItemSelectionModel::Current 0x0010 Текущий выбор будет обновлён.
QItemSelectionModel::Rows 0x0020 Все индексы будут развернуты, чтобы занимать строки.
QItemSelectionModel::Columns 0x0040 Все индексы будут развернуты, чтобы занимать столбцы.
QItemSelectionModel::SelectCurrent Select | Current Комбинация выбора и текущего значения, предоставлена для удобства.
QItemSelectionModel::ToggleCurrent Toggle | Current Комбинация переключения и текущего значения, предоставлена для удобства.
QItemSelectionModel::ClearAndSelect Clear | Select Комбинация очистки и выбора, предоставлена для удобства.

Тип SelectionFlags — это псевдоним для QFlags<SelectionFlag>. Он хранит логическое ИЛИ комбинацию значений SelectionFlag.

Документация свойств

selectedIndexes : const QModelIndexList

Это свойство было введено в Qt 5.5.

Функции доступа:

QModelIndexList selectedIndexes() const

Сигнал уведомления:

void selectionChanged(const QItemSelection &selected, const QItemSelection &deselected)

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

QItemSelectionModel::QItemSelectionModel(QAbstractItemModel *model = nullptr)

Создаёт модель выбора, которая работает с заданной моделью элементов model.

QItemSelectionModel::QItemSelectionModel(QAbstractItemModel *model, QObject *parent)

Создаёт модель выбора, которая работает с заданной моделью элементов model и parent.

[virtual] QItemSelectionModel::~QItemSelectionModel()

Уничтожает модель выбора.

[virtual slot] void QItemSelectionModel::clear()

Очищает модель выбора. Вызывает selectionChanged() и currentChanged().

[virtual slot] void QItemSelectionModel::clearCurrentIndex()

Очищает текущий индекс. Вызывает currentChanged().

[slot] void QItemSelectionModel::clearSelection()

Очищает выбор в модели выбора. Вызывает selectionChanged().

Эта функция была введена в Qt 4.2.

bool QItemSelectionModel::columnIntersectsSelection(int column, const QModelIndex &parent) const

Возвращает true, если в заданном column с данным parent есть какие-либо выбранные элементы.

Примечание: Эту функцию можно вызвать через систему метаобъектов и из QML. См. Q_INVOKABLE.

[signal] void QItemSelectionModel::currentChanged(const QModelIndex &current, const QModelIndex &previous)

Этот сигнал генерируется всякий раз, когда текущий элемент изменяется. Предыдущий индекс элемента модели previous заменяется индексом current в качестве текущего элемента выбора.

Обратите внимание, что этот сигнал не будет сгенерирован при сбросе модели элементов.

См. также currentIndex(), setCurrentIndex() и selectionChanged().

[signal] void QItemSelectionModel::currentColumnChanged(const QModelIndex &current, const QModelIndex &previous)

Этот сигнал генерируется, если текущий элемент изменяется, а его столбец отличается от столбца предыдущего текущего элемента.

Обратите внимание, что этот сигнал не будет сгенерирован при сбросе модели элементов.

См. также currentChanged(), currentRowChanged(), currentIndex() и setCurrentIndex().

QModelIndex QItemSelectionModel::currentIndex() const

Возвращает индекс элемента модели для текущего элемента или недействительный индекс, если текущего элемента нет.

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

[signal] void QItemSelectionModel::currentRowChanged(const QModelIndex &current, const QModelIndex &previous)

Этот сигнал генерируется, если текущий элемент изменяется, а его строка отличается от строки предыдущего текущего элемента.

Обратите внимание, что этот сигнал не будет сгенерирован при сбросе модели элементов.

См. также currentChanged(), currentColumnChanged(), currentIndex() и setCurrentIndex().

[protected] void QItemSelectionModel::emitSelectionChanged(const QItemSelection &newSelection, const QItemSelection &oldSelection)

Сравнивает два выбора newSelection и oldSelection и генерирует selectionChanged() с невыбранными и выбранными элементами.

bool QItemSelectionModel::hasSelection() const

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

Эта функция была введена в Qt 4.2.

bool QItemSelectionModel::isColumnSelected(int column, const QModelIndex &parent) const

Возвращает true, если все элементы выбраны в column с заданным parent.

Обратите внимание, что эта функция обычно быстрее, чем вызов isSelected() для всех элементов в том же столбце, и невыбираемые элементы игнорируются.

Примечание: Эту функцию можно вызвать через систему метаобъектов и из QML. См. Q_INVOKABLE.

bool QItemSelectionModel::isRowSelected(int row, const QModelIndex &parent) const

Возвращает true, если все элементы выбраны в row с заданным parent.

Обратите внимание, что эта функция обычно быстрее, чем вызов isSelected() для всех элементов в той же строке, и невыбираемые элементы игнорируются.

Примечание: Эту функцию можно вызвать через систему метаобъектов и из QML. См. Q_INVOKABLE.

bool QItemSelectionModel::isSelected(const QModelIndex &index) const

Возвращает true, если заданный индекс элемента модели index выбран.

Примечание: Эту функцию можно вызвать через систему метаобъектов и из QML. См. Q_INVOKABLE.

const QAbstractItemModel *QItemSelectionModel::model() const

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

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

QAbstractItemModel *QItemSelectionModel::model()

Возвращает модель элементов, с которой работает модель выделения.

Эта функция была добавлена в Qt 5.5.

[signal] void QItemSelectionModel::modelChanged(QAbstractItemModel *model)

Этот сигнал испускается, когда модель model успешно установлена с помощью setModel().

Эта функция была добавлена в Qt 5.5.

См. также model() и setModel().

[virtual slot] void QItemSelectionModel::reset()

Очищает модель выделения. Не испускает никаких сигналов.

bool QItemSelectionModel::rowIntersectsSelection(int row, const QModelIndex &parent) const

Возвращает true если в строке row с заданным parent выделены какие-либо элементы.

Примечание: Эта функция может быть вызвана через систему метаобъектов и из QML. См. Q_INVOKABLE.

[virtual slot] void QItemSelectionModel::select(const QModelIndex &index, QItemSelectionModel::SelectionFlags command)

Выделяет элемент модели index с использованием указанного command и испускает selectionChanged().

См. также QItemSelectionModel::SelectionFlags.

[virtual slot] void QItemSelectionModel::select(const QItemSelection &selection, QItemSelectionModel::SelectionFlags command)

Выделяет выделение selection с использованием указанного command и испускает selectionChanged().

См. также QItemSelectionModel::SelectionFlag.

QModelIndexList QItemSelectionModel::selectedColumns(int row = 0) const

Возвращает индексы в заданной строке row для столбцов, где все строки выделены.

Эта функция была добавлена в Qt 4.2.

Примечание: Эта функция может быть вызвана через систему метаобъектов и из QML. См. Q_INVOKABLE.

См. также selectedIndexes() и selectedRows().

QModelIndexList QItemSelectionModel::selectedIndexes() const

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

Примечание: Функция-получатель для свойства selectedIndexes.

QModelIndexList QItemSelectionModel::selectedRows(int column = 0) const

Возвращает индексы в заданном столбце column для строк, где все столбцы выделены.

Эта функция была добавлена в Qt 4.2.

Примечание: Эта функция может быть вызвана через систему метаобъектов и из QML. См. Q_INVOKABLE.

См. также selectedIndexes() и selectedColumns().

const QItemSelection QItemSelectionModel::selection() const

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

[signal] void QItemSelectionModel::selectionChanged(const QItemSelection &selected, const QItemSelection &deselected)

Этот сигнал испускается всякий раз, когда меняется выделение. Изменение выделения представлено выделением элементов deselected и выделением элементов selected.

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

Примечание: Сигнал-уведомление для свойства selectedIndexes.

См. также select() и currentChanged().

[virtual slot] void QItemSelectionModel::setCurrentIndex(const QModelIndex &index, QItemSelectionModel::SelectionFlags command)

Устанавливает элемент модели index в качестве текущего элемента и испускает currentChanged(). Текущий элемент используется для навигации с клавиатуры и индикации фокуса; он независим от любых выделенных элементов, хотя выделенный элемент также может быть текущим элементом.

В зависимости от указанного command, index также может стать частью текущего выделения.

См. также currentIndex() и select().

void QItemSelectionModel::setModel(QAbstractItemModel *model)

Устанавливает модель в model. Будет испущен сигнал modelChanged().

Эта функция была добавлена в Qt 5.5.

См. также model() и modelChanged().

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

Spec-Zone.ru

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