Класс QListView
Класс QListView предоставляет вид списка или значков для модели. Подробнее...
| Заголовок: | #include <QListView> |
| qmake: | QT += widgets |
| Наследуется от: | QAbstractItemView |
| Наследует: |
Открытые типы
| перечисление | Flow { СлеваНаправо, СверхуВниз } |
| перечисление | LayoutMode { ОдноПроходное, Партированное } |
| перечисление | Movement { Статическое, Свободное, Привязка } |
| перечисление | ResizeMode { Фиксированное, Настройка } |
| перечисление | ViewMode { РежимСписок, РежимЗначки } |
Свойства
|
|
- 16 свойств унаследовано от QAbstractItemView
- 3 свойства унаследовано от QAbstractScrollArea
- 6 свойств унаследовано от QFrame
- 59 свойств унаследовано от QWidget
- 1 свойство унаследовано от QObject
Общедоступные функции
| QListView(QWidget *parent = nullptr) | |
| virtual | ~QListView() |
| int | batchSize() const |
| void | clearPropertyFlags() |
| QListView::Flow | flow() const |
| QSize | gridSize() const |
| bool | isRowHidden(int row) const |
| bool | isSelectionRectVisible() const |
| bool | isWrapping() const |
| QListView::LayoutMode | layoutMode() const |
| int | modelColumn() const |
| QListView::Movement | movement() const |
| QListView::ResizeMode | resizeMode() const |
| void | setBatchSize(int batchSize) |
| void | setFlow(QListView::Flow flow) |
| void | setGridSize(const QSize &size) |
| void | setLayoutMode(QListView::LayoutMode mode) |
| void | setModelColumn(int column) |
| void | setMovement(QListView::Movement movement) |
| void | setResizeMode(QListView::ResizeMode mode) |
| void | setRowHidden(int row, bool hide) |
| void | setSelectionRectVisible(bool show) |
| void | setSpacing(int space) |
| void | setUniformItemSizes(bool enable) |
| void | setViewMode(QListView::ViewMode mode) |
| void | setWordWrap(bool on) |
| void | setWrapping(bool enable) |
| int | spacing() const |
| bool | uniformItemSizes() const |
| QListView::ViewMode | viewMode() const |
| bool | wordWrap() const |
Переопределённые общедоступные функции
| virtual QModelIndex | indexAt(const QPoint &p) const override |
| virtual void | scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint = EnsureVisible) override |
| virtual QRect | visualRect(const QModelIndex &index) const override |
- 60 общедоступных функций унаследовано от QAbstractItemView
- 20 общедоступных функций унаследовано от QAbstractScrollArea
- 14 общедоступных функций унаследовано от QFrame
- 214 общедоступных функций унаследовано от QWidget
- 34 общедоступных функций унаследовано от QObject
- 14 общедоступных функций унаследовано от QPaintDevice
Сигналы
| void | indexesMoved(const QModelIndexList &indexes) |
- 7 сигналов унаследовано от QAbstractItemView
- 3 сигналов унаследовано от QWidget
- 2 сигналов унаследовано от QObject
Защищённые функции
| QRect | rectForIndex(const QModelIndex &index) const |
| void | setPositionForIndex(const QPoint &position, const QModelIndex &index) |
Реализованные защищенные функции
| virtual void | currentChanged(const QModelIndex ¤t, const QModelIndex &previous) override |
| virtual void | dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector<int> &roles = QVector<int>()) override |
| virtual void | dragLeaveEvent(QDragLeaveEvent *e) override |
| virtual void | dragMoveEvent(QDragMoveEvent *e) override |
| virtual void | dropEvent(QDropEvent *e) override |
| virtual bool | event(QEvent *e) override |
| virtual int | horizontalOffset() const override |
| virtual bool | isIndexHidden(const QModelIndex &index) const override |
| virtual void | mouseMoveEvent(QMouseEvent *e) override |
| virtual void | mouseReleaseEvent(QMouseEvent *e) override |
| virtual QModelIndex | moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers) override |
| virtual void | paintEvent(QPaintEvent *e) override |
| virtual void | resizeEvent(QResizeEvent *e) override |
| virtual void | rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end) override |
| virtual void | rowsInserted(const QModelIndex &parent, int start, int end) override |
| virtual QModelIndexList | selectedIndexes() const override |
| virtual void | selectionChanged(const QItemSelection &selected, const QItemSelection &deselected) override |
| virtual void | setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags command) override |
| virtual void | startDrag(Qt::DropActions supportedActions) override |
| virtual void | timerEvent(QTimerEvent *e) override |
| virtual void | updateGeometries() override |
| virtual int | verticalOffset() const override |
| virtual QStyleOptionViewItem | viewOptions() const override |
| virtual QSize | viewportSizeHint() const override |
| virtual QRegion | visualRegionForSelection(const QItemSelection &selection) const override |
| virtual void | wheelEvent(QWheelEvent *e) override |
- 38 защищённых функций унаследованных от QAbstractItemView
- 20 защищённых функций унаследованных от QAbstractScrollArea
- 4 защищённых функций унаследованных от QFrame
- 35 защищённых функций унаследованных от QWidget
- 9 защищённых функций унаследованных от QObject
- 1 защищённая функция унаследованная от QPaintDevice
Дополнительные унаследованные члены
- 9 публичных слотов унаследованных от QAbstractItemView
- 19 публичных слотов унаследованных от QWidget
- 1 публичный слот унаследованный от QObject
- 1 публичная переменная унаследованная от QObject
- 5 статических публичных членов унаследованных от QWidget
- 10 статических публичных членов унаследованных от QObject
- 9 защищённых слотов унаследованных от QAbstractItemView
- 1 защищённый слот унаследованный от QWidget
- 2 защищённых переменных унаследованных от QObject
- 1 защищённый тип унаследованный от QPaintDevice
Подробное описание
Класс QListView предоставляет представление списка или значков для модели.
Класс QListView отображает элементы, хранящиеся в модели, либо как простой неиерархический список, либо как набор значков. Этот класс используется для предоставления списков и представлений значков, которые ранее предоставлялись классами QListBox и QIconView, но с использованием более гибкого подхода, предоставляемого архитектурой Qt модель/представление.
Класс QListView является одним из классов Модель/Представление и входит в состав фреймворка Qt модель/представление.
Это представление не отображает горизонтальные или вертикальные заголовки; для отображения списка элементов с горизонтальным заголовком используйте QTreeView.
QListView реализует интерфейсы, определенные классом QAbstractItemView, чтобы позволить ему отображать данные, предоставляемые моделями, производными от класса QAbstractItemModel.
Элементы в представлении списка могут отображаться в одном из двух режимов: в режиме ListMode элементы отображаются в виде простого списка; в режиме IconMode представление списка принимает форму представления значков, в котором элементы отображаются со значками, как файлы в файловом менеджере. По умолчанию представление списка находится в режиме ListMode. Для изменения режима представления используйте функцию setViewMode(), а для определения текущего режима представления используйте viewMode().
Элементы в этих представлениях выстраиваются в направлении, указанном свойством flow представления списка. Элементы могут быть закреплены на месте или перемещаться, в зависимости от состояния movement представления.
Если элементы в модели не могут быть полностью выстроены в направлении потока, они могут быть переносны на границе виджета представления; это зависит от свойства isWrapping(). Это свойство полезно, когда элементы представляются в виде значков.
Свойства resizeMode() и layoutMode() управляют тем, как и когда элементы выстраиваются. Элементы располагаются с учетом отступа, указанного свойством spacing(), и могут существовать в воображаемой сетке заданного размером gridSize(). Элементы могут отображаться как большие или маленькие значки в зависимости от их размера iconSize().
Повышение производительности
Можно предоставить представлению подсказки о данных, которые оно обрабатывает, чтобы повысить производительность при отображении большого количества элементов. Один из подходов, который можно использовать для представлений, предназначенных для отображения элементов с одинаковыми размерами, заключается в установке свойства uniformItemSizes в значение true.
См. также Классы представлений, Пример пазла представлений элементов, QTreeView, QTableView и QListWidget.
Документация типов членов
enum QListView::Flow
| Постоянная | Значение | Описание |
|---|---|---|
QListView::LeftToRight |
0 |
Элементы выстраиваются в представлении слева направо. |
QListView::TopToBottom |
1 |
Элементы выстраиваются в представлении сверху вниз. |
enum QListView::LayoutMode
| Постоянная | Значение | Описание |
|---|---|---|
QListView::SinglePass |
0 |
Элементы выстраиваются сразу все. |
QListView::Batched |
1 |
Элементы выстраиваются партиями по batchSize элементов. |
См. также batchSize.
enum QListView::Movement
| Постоянная | Значение | Описание |
|---|---|---|
QListView::Static |
0 |
Элементы не могут быть перемещены пользователем. |
QListView::Free |
1 |
Элементы могут быть свободно перемещены пользователем. |
QListView::Snap |
2 |
Элементы прикрепляются к заданной сетке при перемещении; см. setGridSize(). |
enum QListView::ResizeMode
| Постоянная | Значение | Описание |
|---|---|---|
QListView::Fixed |
0 |
Элементы будут выстроены только при первом отображении представления. |
QListView::Adjust |
1 |
Элементы будут выстраиваться каждый раз при изменении размера представления. |
enum QListView::ViewMode
| Постоянная | Значение | Описание |
|---|---|---|
QListView::ListMode |
0 |
Элементы выстраиваются с использованием потока TopToBottom, размером Small и статичным перемещением. |
QListView::IconMode |
1 |
Элементы выстраиваются с использованием потока LeftToRight, размером Large и свободным перемещением. |
Документация свойств
batchSize : int
Это свойство хранит количество элементов, выложенных в каждой группе, если layoutMode установлено в Batched
Значение по умолчанию равно 100.
Это свойство было добавлено в Qt 4.2.
Функции доступа:
| int | batchSize() const |
| void | setBatchSize(int batchSize) |
flow : Flow
Это свойство определяет направление выкладки элементов.
Если это свойство LeftToRight, элементы будут выкладываться слева направо. Если свойство isWrapping равно true, выкладка будет переносить на следующую строку, когда достигнет правой стороны видимой области. Если это свойство TopToBottom, элементы будут выкладываться сверху вниз, переходя на новую строку при достижении нижней границы.
Установка этого свойства, когда вид виден, приведет к повторной выкладке элементов.
По умолчанию это свойство установлено в TopToBottom.
Функции доступа:
| QListView::Flow | flow() const |
| void | setFlow(QListView::Flow flow) |
См. также viewMode.
gridSize : QSize
Это свойство хранит размер сетки выкладки.
Это свойство задаёт размер сетки, в которой выкладываются элементы. По умолчанию оно пустое, что означает отсутствие сетки и выкладки в виде сетки. Установка ненулевого размера включает режим выкладки в сетку. (Когда используется выкладка в сетку, свойство spacing игнорируется.)
Изменение этого свойства, когда вид виден, приводит к повторной выкладке элементов.
Функции доступа:
| QSize | gridSize() const |
| void | setGridSize(const QSize &size) |
См. также viewMode.
isWrapping : bool
Это свойство определяет, нужно ли переносить элементы на следующую строку.
Это свойство определяет, должна ли выкладка переносить элементы на следующую строку, когда больше нет места в видимой области. Точка переноса на следующую строку зависит от свойства flow.
Изменение этого свойства, когда вид виден, приводит к повторной выкладке элементов.
По умолчанию это свойство равно false.
Функции доступа:
| bool | isWrapping() const |
| void | setWrapping(bool enable) |
См. также viewMode.
layoutMode : LayoutMode
определяет, должна ли выкладка элементов происходить немедленно или с задержкой.
Это свойство определяет режим выкладки элементов. В режиме SinglePass (по умолчанию) элементы выкладываются сразу. В режиме Batched элементы выкладываются группами по batchSize элементов во время обработки событий. Это позволяет мгновенно просматривать и взаимодействовать с видимыми элементами, в то время как остальные выкладываются.
Функции доступа:
| QListView::LayoutMode | layoutMode() const |
| void | setLayoutMode(QListView::LayoutMode mode) |
См. также viewMode.
modelColumn : int
Это свойство хранит номер столбца в модели, который виден.
По умолчанию это свойство содержит 0, что означает, что будет показан первый столбец модели.
Функции доступа:
| int | modelColumn() const |
| void | setModelColumn(int column) |
movement : Movement
Это свойство определяет, могут ли элементы свободно перемещаться, привязаны ли они к сетке или вообще не могут перемещаться.
Это свойство определяет, как пользователь может перемещать элементы в представлении. Static означает, что элементы нельзя перемещать. Free означает, что пользователь может перетаскивать элементы в любое положение в представлении. Snap означает, что пользователь может перетаскивать элементы, но только в позиции, обозначенные сеткой с помощью свойства gridSize.
Изменение этого свойства, когда вид виден, приводит к повторной выкладке элементов.
По умолчанию это свойство установлено в Static.
Функции доступа:
| QListView::Movement | movement() const |
| void | setMovement(QListView::Movement movement) |
См. также gridSize, resizeMode и viewMode.
resizeMode : ResizeMode
Это свойство определяет, будут ли элементы повторно выкладываться при изменении размера представления.
Если это свойство Adjust, элементы будут повторно выкладываться при изменении размера представления. Если значение Fixed, элементы не будут выкладываться при изменении размера.
По умолчанию это свойство установлено в Fixed.
Функции доступа:
| QListView::ResizeMode | resizeMode() const |
| void | setResizeMode(QListView::ResizeMode mode) |
См. также movement, gridSize и viewMode.
selectionRectVisible : bool
управляет отображением прямоугольника выделения.
Если это свойство true , прямоугольник выделения виден; в противном случае он будет скрыт.
Примечание: прямоугольник выделения будет виден только если режим выделения позволяет выделять более одного элемента; он не будет отображаться, если режим выделения QAbstractItemView::SingleSelection.
По умолчанию это свойство false.
Это свойство было добавлено в Qt 4.3.
Функции доступа:
| bool | isSelectionRectVisible() const |
| void | setSelectionRectVisible(bool show) |
spacing : int
Это свойство хранит отступ между элементами в выкладке.
Это свойство задаёт размер пустого пространства, добавляемого вокруг элемента в выкладке.
Изменение этого свойства, когда вид виден, приводит к повторной выкладке элементов.
По умолчанию это свойство равно 0.
Функции доступа:
| int | spacing() const |
| void | setSpacing(int space) |
См. также viewMode.
uniformItemSizes : bool
Это свойство определяет, все ли элементы в списке имеют одинаковый размер.
Это свойство следует устанавливать в true только в том случае, если известно, что все элементы в представлении имеют одинаковый размер. Это позволяет представлению выполнять оптимизации для повышения производительности.
По умолчанию это свойство false.
Это свойство было добавлено в Qt 4.1.
Функции доступа:
| bool | uniformItemSizes() const |
| void | setUniformItemSizes(bool enable) |
viewMode : ViewMode
Это свойство содержит режим отображения QListView.
Это свойство изменит другие не установленные свойства в соответствии с установленным режимом отображения. Свойства QListView, которые уже были установлены, не будут изменены, если не был вызван метод clearPropertyFlags().
Установка режима отображения включит или отключит перетаскивание в зависимости от выбранного перемещения. Для ListMode стандартное перемещение — Static (перетаскивание отключено); для IconMode — Free (перетаскивание включено).
Функции доступа:
| QListView::ViewMode | viewMode() const |
| void | setViewMode(QListView::ViewMode mode) |
См. также isWrapping, spacing, gridSize, flow, movement и resizeMode.
wordWrap : bool
Это свойство содержит политику перевода текста элементов по словам
Если это свойство true, то текст элемента переносится по необходимости на границах слов; в противном случае он вообще не переносится. По умолчанию это свойство false.
Обратите внимание, что даже если перенос по словам включен, ячейка не будет расширена, чтобы освободить место для текста. Для текста, который не может быть показан, будет выводиться многоточие в соответствии с режимом обрезки текста textElideMode представления.
Это свойство было добавлено в Qt 4.2.
Функции доступа:
| bool | wordWrap() const |
| void | setWordWrap(bool on) |
Документация по членам-функциям
QListView::QListView(QWidget *parent = nullptr)
Создаёт новый QListView с заданным parent для просмотра модели. Используйте setModel(), чтобы задать модель.
[virtual] QListView::~QListView()
Удаляет представление.
void QListView::clearPropertyFlags()
Очищает флаги свойств, специфичные для QListView. См. viewMode.
Свойства, унаследованные от QAbstractItemView, не охватываются флагами свойств. В частности, dragEnabled и acceptsDrops вычисляются QListView при вызове setMovement() или setViewMode().
[override virtual protected] void QListView::currentChanged(const QModelIndex ¤t, const QModelIndex &previous)
Переопределяет QAbstractItemView::currentChanged().
[override virtual protected] void QListView::dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector<int> &roles = QVector<int>())
Переопределяет QAbstractItemView::dataChanged().
[override virtual protected] void QListView::dragLeaveEvent(QDragLeaveEvent *e)
Переопределяет QAbstractItemView::dragLeaveEvent().
[override virtual protected] void QListView::dragMoveEvent(QDragMoveEvent *e)
Переопределяет QAbstractItemView::dragMoveEvent().
[override virtual protected] void QListView::dropEvent(QDropEvent *e)
Переопределяет QAbstractItemView::dropEvent().
[override virtual protected] bool QListView::event(QEvent *e)
Переопределяет QAbstractItemView::event().
[override virtual protected] int QListView::horizontalOffset() const
Переопределяет QAbstractItemView::horizontalOffset().
[override virtual] QModelIndex QListView::indexAt(const QPoint &p) const
Переопределяет QAbstractItemView::indexAt().
[signal] void QListView::indexesMoved(const QModelIndexList &indexes)
Этот сигнал испускается, когда указанные indexes перемещаются в представлении.
Эта функция была добавлена в Qt 4.2.
[override virtual protected] bool QListView::isIndexHidden(const QModelIndex &index) const
Переопределяет QAbstractItemView::isIndexHidden().
bool QListView::isRowHidden(int row) const
Возвращает true, если строка row скрыта; в противном случае возвращает false.
[override virtual protected] void QListView::mouseMoveEvent(QMouseEvent *e)
Переопределяет QAbstractItemView::mouseMoveEvent().
[override virtual protected] void QListView::mouseReleaseEvent(QMouseEvent *e)
Переопределяет QAbstractItemView::mouseReleaseEvent().
[override virtual protected] QModelIndex QListView::moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers)
Переопределяет QAbstractItemView::moveCursor().
[override virtual protected] void QListView::paintEvent(QPaintEvent *e)
Переопределяет QAbstractScrollArea::paintEvent().
[protected] QRect QListView::rectForIndex(const QModelIndex &index) const
Возвращает прямоугольник элемента в позиции index в модели. Прямоугольник в координатах содержимого.
См. также visualRect().
[override virtual protected] void QListView::resizeEvent(QResizeEvent *e)
Переопределяет QAbstractItemView::resizeEvent().
[override virtual protected] void QListView::rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end)
Переопределяет QAbstractItemView::rowsAboutToBeRemoved().
[override virtual protected] void QListView::rowsInserted(const QModelIndex &parent, int start, int end)
Переопределяет QAbstractItemView::rowsInserted().
[override virtual] void QListView::scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint = EnsureVisible)
Переопределяет QAbstractItemView::scrollTo().
[override virtual protected] QModelIndexList QListView::selectedIndexes() const
Реализовано повторно из QAbstractItemView::selectedIndexes().
[override virtual protected] void QListView::selectionChanged(const QItemSelection &selected, const QItemSelection &deselected)
Реализовано повторно из QAbstractItemView::selectionChanged().
[protected] void QListView::setPositionForIndex(const QPoint &position, const QModelIndex &index)
Устанавливает позицию содержимого элемента по индексу index в модели на заданную позицию position. Если режим перемещения списка равен Static или режим просмотра — ListView, эта функция не будет иметь эффекта.
Эта функция была добавлена в Qt 4.1.
void QListView::setRowHidden(int row, bool hide)
Если hide равно true, заданная строка row будет скрыта; в противном случае строка row будет отображена.
См. такжеisRowHidden().
[override virtual protected] void QListView::setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags command)
Реализовано повторно из QAbstractItemView::setSelection().
[override virtual protected] void QListView::startDrag(Qt::DropActions supportedActions)
Реализовано повторно из QAbstractItemView::startDrag().
[override virtual protected] void QListView::timerEvent(QTimerEvent *e)
Реализовано повторно из QAbstractItemView::timerEvent().
[override virtual protected] void QListView::updateGeometries()
Реализовано повторно из QAbstractItemView::updateGeometries().
[override virtual protected] int QListView::verticalOffset() const
Реализовано повторно из QAbstractItemView::verticalOffset().
[override virtual protected] QStyleOptionViewItem QListView::viewOptions() const
Реализовано повторно из QAbstractItemView::viewOptions().
[override virtual protected] QSize QListView::viewportSizeHint() const
Реализовано повторно из QAbstractItemView::viewportSizeHint().
Эта функция была добавлена в Qt 5.2.
[override virtual] QRect QListView::visualRect(const QModelIndex &index) const
Реализовано повторно из QAbstractItemView::visualRect().
[override virtual protected] QRegion QListView::visualRegionForSelection(const QItemSelection &selection) const
Реализовано повторно из QAbstractItemView::visualRegionForSelection().
Начиная с 4.7, возвращаемая область содержит только прямоугольники, пересекающие (или содержащиеся в) область просмотра.
[override virtual protected] void QListView::wheelEvent(QWheelEvent *e)
Реализовано повторно из QAbstractScrollArea::wheelEvent().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qlistview.html