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