Spec-Zone.ru › Qt 5.12

Класс QListView

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

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

QListWidget и QUndoView

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

Типы публичного доступа

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

Свойства

  • 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
  • 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
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
  • 60 общедоступных функций унаследовано от QAbstractItemView
  • 20 общедоступных функций унаследовано от QAbstractScrollArea
  • 14 общедоступных функций унаследовано от QFrame
  • 214 общедоступных функций унаследовано от QWidget
  • 31 общедоступных функций унаследовано от QObject
  • 14 общедоступных функций унаследовано от QPaintDevice

Сигналы

void indexesMoved(const QModelIndexList &indexes)
  • 7 сигналов унаследовано от QAbstractItemView
  • 3 сигнала унаследовано от QWidget
  • 2 сигнала унаследовано от QObject

Статические публичные члены

const QMetaObject staticMetaObject
  • 5 статических публичных членов унаследовано от QWidget
  • 9 статических публичных членов унаследовано от QObject

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

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

Переопределённые защищённые функции

virtual void currentChanged(const QModelIndex &current, 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
  • 9 защищённых слотов унаследовано от QAbstractItemView
  • 1 защищённый слот унаследовано от QWidget

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

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

Класс QListView отображает элементы, хранящиеся в модели, как простой список или как коллекцию значков. Этот класс используется для предоставления списков и представлений значков, которые ранее предоставлялись классами QListBox и QIconView, но с использованием более гибкого подхода, предоставляемого архитектурой Qt model/view.

Класс QListView является одним из классов модели/представления и входит в состав фреймворка модели/представления Qt.

Это представление не отображает горизонтальные или вертикальные заголовки; для отображения списка элементов с горизонтальным заголовком используйте QTreeView вместо этого.

QListView реализует интерфейсы, определённые классом QAbstractItemView, что позволяет ему отображать данные, предоставляемые моделями, производными от класса QAbstractItemModel.

Элементы в представлении списка могут отображаться в одном из двух режимов: в режиме ListMode элементы отображаются в виде простого списка; в режиме IconMode представление списка принимает форму представления значков, в котором элементы отображаются со значками, подобно файлам в файловом менеджере. По умолчанию представление списка находится в режиме ListMode. Для изменения режима представления используйте функцию setViewMode(), а для определения текущего режима представления используйте viewMode().

Элементы в этих представлениях располагаются в направлении, заданном свойством flow() представления списка. Элементы могут быть закреплены на месте или перемещены в зависимости от состояния свойства movement() представления.

Если элементы в модели не могут быть полностью отображены в направлении потока, они могут быть переносимы на границу виджета представления; это зависит от свойства isWrapping(). Это свойство полезно, когда элементы представлены в виде представления значков.

Свойства resizeMode() и layoutMode() управляют тем, как и когда элементы выстраиваются. Элементы разнесены в соответствии с их spacing(), и могут существовать в условной сетке заданного размера gridSize(). Элементы могут отображаться как большие или маленькие значки в зависимости от iconSize().

Повышение производительности

Можно дать подсказки представлению о данных, с которыми оно работает, чтобы улучшить производительность при отображении большого количества элементов. Один подход, который можно использовать для представлений, предназначенных для отображения элементов с одинаковыми размерами, — установить свойство uniformItemSizes в значение true.

См. также Классы представлений, Пример виджетов представлений элементов (puzzle), 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 Элементы будут выстроены каждый раз при изменении размера представления.

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

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

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

[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().

[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 &индекс, QAbstractItemView::ScrollHint сдвиг = EnsureVisible)

Переопределено из QAbstractItemView::scrollTo().

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

Переопределено из QAbstractItemView::selectedIndexes().

[override virtual protected] void QListView::selectionChanged(const QItemSelection &выделенные, const QItemSelection &снятые_с_выделения)

Переопределено из QAbstractItemView::selectionChanged().

[protected] void QListView::setPositionForIndex(const QPoint &позиция, const QModelIndex &индекс)

Устанавливает позицию содержимого элемента с индексом индекс в модели на заданную позицию. Если режим перемещения списка равен Статический или его режим отображения равен ListView, эта функция не повлияет.

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

void QListView::setRowHidden(int строка, bool скрыть)

Если скрыть равно true, заданная строка будет скрыта; в противном случае строка будет отображена.

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

[override virtual protected] void QListView::setSelection(const QRect &прямоугольник, QItemSelectionModel::SelectionFlags команда)

Переопределено из QAbstractItemView::setSelection().

[override virtual protected] void QListView::startDrag(Qt::DropActions поддерживаемыеДействия)

Переопределено из 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 &индекс) const

Переопределено из QAbstractItemView::visualRect().

[override virtual protected] QRegion QListView::visualRegionForSelection(const QItemSelection &выбор) 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/qt-5.12/qlistview.html

Spec-Zone.ru

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