Spec-Zone.ru › Qt 5.6

Класс 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
  • 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 &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.

Screenshot of a Windows Vista style list view Screenshot of a Macintosh style table view Screenshot of a Fusion style table view
Представление списка в стиле 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 &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/archives/qt-5.6/qlistview.html

Spec-Zone.ru

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