Spec-Zone.ru › Qt 5.12

Класс QItemSelectionModel

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

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

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

Перечисление SelectionFlag { NoUpdate, Clear, Select, Deselect, ..., ClearAndSelect }
Флаги 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

Статические члены публичного доступа

const QMetaObject staticMetaObject
  • 10 статических членов публичного доступа унаследованы от QObject

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

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

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

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

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

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

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

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

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

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

См. также Моделирование/Представление, 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, объединенных операцией OR.

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

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 если в столбце с заданным parent выделены какие-либо элементы.

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

[signal] void QItemSelectionModel::currentChanged(const QModelIndex &current, const QModelIndex &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 если все элементы выделены в столбце с заданным parent.

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

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

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

Возвращает true если все элементы выделены в строке с заданным 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/qt-5.12/qitemselectionmodel.html

Spec-Zone.ru

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