Spec-Zone.ru › Qt 5.14

Класс QListView

Класс QListView предоставляет представление списка или значков на основе модели. Подробнее...

Заголовок: #include <QListView>
qmake: QT += widgets
Наследует: QAbstractItemView
Наследуется:

QListWidget и QUndoView

  • Список всех членов, включая унаследованные

Открытые типы

Перечисление Flow { LeftToRight, TopToBottom }
Перечисление LayoutMode { SinglePass, Batched }
Перечисление Movement { Static, Free, Snap }
Перечисление ResizeMode { Fixed, Adjust }
Перечисление ViewMode { ListMode, IconMode }

Свойства

  • batchSize : int
  • flow : Flow
  • gridSize : QSize
  • isWrapping : bool
  • itemAlignment : Qt::Alignment
  • layoutMode : LayoutMode
  • modelColumn : int
  • movement : Movement
  • resizeMode : ResizeMode
  • selectionRectVisible : bool
  • spacing : int
  • uniformItemSizes : bool
  • viewMode : ViewMode
  • wordWrap : bool

Открытые функции

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
Qt::Alignment itemAlignment() 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 setItemAlignment(Qt::Alignment alignment)
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

Сигналы

void indexesMoved(const QModelIndexList &indexes)

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

QRect rectForIndex(const QModelIndex &index) const
void setPositionForIndex(const QPoint &position, const QModelIndex &index)

Реализованные защищенные функции

виртуальный void currentChanged(const QModelIndex &current, const QModelIndex &previous) override
виртуальный void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector<int> &roles = QVector<int>()) override
виртуальный void dragLeaveEvent(QDragLeaveEvent *e) override
виртуальный void dragMoveEvent(QDragMoveEvent *e) override
виртуальный void dropEvent(QDropEvent *e) override
виртуальный bool event(QEvent *e) override
виртуальный int horizontalOffset() const override
виртуальный bool isIndexHidden(const QModelIndex &index) const override
виртуальный void mouseMoveEvent(QMouseEvent *e) override
виртуальный void mouseReleaseEvent(QMouseEvent *e) override
виртуальный QModelIndex moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers) override
виртуальный void paintEvent(QPaintEvent *e) override
виртуальный void resizeEvent(QResizeEvent *e) override
виртуальный void rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end) override
виртуальный void rowsInserted(const QModelIndex &parent, int start, int end) override
виртуальный QModelIndexList selectedIndexes() const override
виртуальный void selectionChanged(const QItemSelection &selected, const QItemSelection &deselected) override
виртуальный void setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags command) override
виртуальный void startDrag(Qt::DropActions supportedActions) override
виртуальный void timerEvent(QTimerEvent *e) override
виртуальный void updateGeometries() override
виртуальный int verticalOffset() const override
виртуальный QStyleOptionViewItem viewOptions() const override
виртуальный QSize viewportSizeHint() const override
виртуальный QRegion visualRegionForSelection(const QItemSelection &selection) const override
виртуальный void wheelEvent(QWheelEvent *e) override

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

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.

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

перечисление QListView::Flow

Константа Значение Описание
QListView::LeftToRight 0 Элементы размещаются в представлении слева направо.
QListView::TopToBottom 1 Элементы размещаются в представлении сверху вниз.

перечисление QListView::LayoutMode

Константа Значение Описание
QListView::SinglePass 0 Элементы размещаются все сразу.
QListView::Batched 1 Элементы размещаются партиями по batchSize элементов.

См. также batchSize.

перечисление QListView::Movement

Константа Значение Описание
QListView::Static 0 Элементы не могут быть перемещены пользователем.
QListView::Free 1 Элементы могут быть свободно перемещены пользователем.
QListView::Snap 2 Элементы привязываются к заданной сетке при перемещении; см. setGridSize().

перечисление 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.

itemAlignment : Qt::Alignment

Это свойство определяет выравнивание каждого элемента в его ячейке.

Это поддерживается только в режиме ListMode с направлением вывода TopToBottom и включённым переносом. Значение выравнивания по умолчанию равно 0, что означает заполнение элемента всей ячейки.

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

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

Qt::Alignment itemAlignment() const
void setItemAlignment(Qt::Alignment alignment)

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

Это свойство указывает, имеют ли все элементы в списке одинаковый размер.

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

По умолчанию это свойство равно 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(), чтобы установить модель.

[signal] void QListView::indexesMoved(const QModelIndexList &indexes)

Этот сигнал испускается, когда указанные indexes перемещаются в представлении.

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

[virtual] QListView::~QListView()

Уничтожает представление.

void QListView::clearPropertyFlags()

Очищает флаги свойств, специфичных для QListView. См. viewMode.

Свойства, унаследованные от QAbstractItemView, не охватываются флагами свойств. В частности, dragEnabled и acceptsDrops вычисляются QListView при вызове setMovement() или setViewMode().

[override virtual protected] void QListView::currentChanged(const QModelIndex &current, const QModelIndex &previous)

Переопределяет: QAbstractItemView::currentChanged(const QModelIndex &current, const QModelIndex &previous).

[override virtual protected] void QListView::dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector<int> &roles = QVector<int>())

Переопределяет: QAbstractItemView::dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector<int> &roles).

[override virtual protected] void QListView::dragLeaveEvent(QDragLeaveEvent *e)

Переопределяет: QAbstractItemView::dragLeaveEvent(QDragLeaveEvent *event).

[override virtual protected] void QListView::dragMoveEvent(QDragMoveEvent *e)

Переопределяет: QAbstractItemView::dragMoveEvent(QDragMoveEvent *event).

[override virtual protected] void QListView::dropEvent(QDropEvent *e)

Переопределяет: QAbstractItemView::dropEvent(QDropEvent *event).

[override virtual protected] bool QListView::event(QEvent *e)

Переопределяет: QAbstractItemView::event(QEvent *event).

[override virtual protected] int QListView::horizontalOffset() const

Переопределяет: QAbstractItemView::horizontalOffset() const.

[override virtual] QModelIndex QListView::indexAt(const QPoint &p) const

Переопределяет: QAbstractItemView::indexAt(const QPoint &point) const.

[override virtual protected] bool QListView::isIndexHidden(const QModelIndex &index) const

Переопределяет: QAbstractItemView::isIndexHidden(const QModelIndex &index) const.

bool QListView::isRowHidden(int row) const

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

[override virtual protected] void QListView::mouseMoveEvent(QMouseEvent *e)

Переопределяет: QAbstractItemView::mouseMoveEvent(QMouseEvent *event).

[override virtual protected] void QListView::mouseReleaseEvent(QMouseEvent *e)

Переопределяет: QAbstractItemView::mouseReleaseEvent(QMouseEvent *event).

[override virtual protected] QModelIndex QListView::moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers)

Переопределяет: QAbstractItemView::moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers).

[override virtual protected] void QListView::paintEvent(QPaintEvent *e)

Переопределяет: QAbstractScrollArea::paintEvent(QPaintEvent *event).

[protected] QRect QListView::rectForIndex(const QModelIndex &index) const

Возвращает прямоугольник элемента в позиции index в модели. Прямоугольник находится в координатах содержимого.

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

[override virtual protected] void QListView::resizeEvent(QResizeEvent *e)

Переопределяет: QAbstractItemView::resizeEvent(QResizeEvent *event).

[override virtual protected] void QListView::rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end)

Переопределяет: QAbstractItemView::rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end).

[override virtual protected] void QListView::rowsInserted(const QModelIndex &parent, int start, int end)

Переопределяет: QAbstractItemView::rowsInserted(const QModelIndex &parent, int start, int end).

[override virtual] void QListView::scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint = EnsureVisible)

Переопределяет: QAbstractItemView::scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint).

[override virtual protected] QModelIndexList QListView::selectedIndexes() const

Переопределяет: QAbstractItemView::selectedIndexes() const.

[override virtual protected] void QListView::selectionChanged(const QItemSelection &selected, const QItemSelection &deselected)

Переопределяет: QAbstractItemView::selectionChanged(const QItemSelection &selected, const QItemSelection &deselected).

[protected] void QListView::setPositionForIndex(const QPoint &position, const QModelIndex &index)

Устанавливает позицию содержимого элемента по индексу index в модели в заданную позицию position. Если режим перемещения списка равен Статический или режим просмотра равен 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(const QRect &rect, QItemSelectionModel::SelectionFlags flags).

[override virtual protected] void QListView::startDrag(Qt::DropActions supportedActions)

Переопределяет: QAbstractItemView::startDrag(Qt::DropActions supportedActions).

[override virtual protected] void QListView::timerEvent(QTimerEvent *e)

Переопределяет: QAbstractItemView::timerEvent(QTimerEvent *event).

[override virtual protected] void QListView::updateGeometries()

Переопределяет: QAbstractItemView::updateGeometries().

[override virtual protected] int QListView::verticalOffset() const

Переопределяет: QAbstractItemView::verticalOffset() const.

[override virtual protected] QStyleOptionViewItem QListView::viewOptions() const

Переопределяет: QAbstractItemView::viewOptions() const.

[override virtual protected] QSize QListView::viewportSizeHint() const

Переопределяет: QAbstractItemView::viewportSizeHint() const.

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

[override virtual] QRect QListView::visualRect(const QModelIndex &index) const

Переопределяет: QAbstractItemView::visualRect(const QModelIndex &index) const.

[override virtual protected] QRegion QListView::visualRegionForSelection(const QItemSelection &selection) const

Переопределяет: QAbstractItemView::visualRegionForSelection(const QItemSelection &selection) const.

Начиная с 4.7, возвращаемая область содержит только прямоугольники, пересекающие (или содержащие) область просмотра.

[override virtual protected] void QListView::wheelEvent(QWheelEvent *e)

Переопределяет: QAbstractScrollArea::wheelEvent(QWheelEvent *e).

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

Spec-Zone.ru

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