Spec-Zone.ru › Qt 5.9

Класс QListView

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

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

QHelpIndexWidget, QListWidget и QUndoView

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

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

Перечисление Flow { СлеваНаправо, СверхуВниз }
Перечисление LayoutMode { ОдноПроходной, Пакетированный }
Перечисление Movement { Статический, Свободный, Снап }
Перечисление ResizeMode { Фиксированный, Изменение }
Перечисление ViewMode { РежимСписок, РежимЗначки }

Свойства

  • batchSize : int
  • flow : Flow
  • gridSize : QSize
  • isWrapping : bool
  • layoutMode : LayoutMode
  • modelColumn : int
  • movement : Movement
  • resizeMode : ResizeMode
  • selectionRectVisible : bool
  • spacing : int
  • uniformItemSizes : bool
  • viewMode : ViewMode
  • wordWrap : bool
  • 16 свойств унаследовано от QAbstractItemView
  • 3 свойства унаследовано от QAbstractScrollArea
  • 6 свойств унаследовано от QFrame
  • 59 свойств унаследовано от 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
  • 59 общедоступных функций унаследовано от QAbstractItemView
  • 20 общедоступных функций унаследовано от QAbstractScrollArea
  • 14 общедоступных функций унаследовано от QFrame
  • 214 общедоступных функций унаследовано от QWidget
  • 32 общедоступных функций унаследовано от 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 &current, 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().

Улучшение производительности

Возможно дать представлению подсказки о данных, которые оно обрабатывает, чтобы улучшить его производительность при отображении большого количества элементов. Один из подходов для представлений, которые предназначены для отображения элементов с одинаковыми размерами, заключается в установке свойства 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, с небольшим размером и статичным перемещением.
QListView::IconMode 1 Элементы выложены с использованием потока LeftToRight, с большим размером и свободным перемещением.

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

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 &current, 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/qt-5.9/qlistview.html

Spec-Zone.ru

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