Spec-Zone.ru › Qt 5.12

Класс QAbstractItemView

Класс QAbstractItemView предоставляет базовые функции для классов отображения элементов. Подробнее...

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

QColumnView, QHeaderView, QListView, QTableView и QTreeView

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

Общедоступные типы

Перечисление DragDropMode { NoDragDrop, DragOnly, DropOnly, DragDrop, InternalMove }
Перечисление EditTrigger { NoEditTriggers, CurrentChanged, DoubleClicked, SelectedClicked, ..., AllEditTriggers }
Флаги EditTriggers
Перечисление ScrollHint { EnsureVisible, PositionAtTop, PositionAtBottom, PositionAtCenter }
Перечисление ScrollMode { ScrollPerItem, ScrollPerPixel }
Перечисление SelectionBehavior { SelectItems, SelectRows, SelectColumns }
Перечисление SelectionMode { SingleSelection, ContiguousSelection, ExtendedSelection, MultiSelection, NoSelection }

Свойства

  • alternatingRowColors : bool
  • autoScroll : bool
  • autoScrollMargin : int
  • defaultDropAction : Qt::DropAction
  • dragDropMode : DragDropMode
  • dragDropOverwriteMode : bool
  • dragEnabled : bool
  • editTriggers : EditTriggers
  • horizontalScrollMode : ScrollMode
  • iconSize : QSize
  • selectionBehavior : SelectionBehavior
  • selectionMode : SelectionMode
  • showDropIndicator : bool
  • tabKeyNavigation : bool
  • textElideMode : Qt::TextElideMode
  • verticalScrollMode : ScrollMode
  • 3 свойства унаследованы от QAbstractScrollArea
  • 6 свойств унаследованы от QFrame
  • 59 свойств унаследованы от QWidget
  • 1 свойство унаследовано от QObject

Общедоступные функции

QAbstractItemView(QWidget *parent = nullptr)
virtual ~QAbstractItemView()
bool alternatingRowColors() const
int autoScrollMargin() const
void closePersistentEditor(const QModelIndex &index)
QModelIndex currentIndex() const
Qt::DropAction defaultDropAction() const
QAbstractItemView::DragDropMode dragDropMode() const
bool dragDropOverwriteMode() const
bool dragEnabled() const
QAbstractItemView::EditTriggers editTriggers() const
bool hasAutoScroll() const
QAbstractItemView::ScrollMode horizontalScrollMode() const
QSize iconSize() const
virtual QModelIndex indexAt(const QPoint &point) const = 0
QWidget * indexWidget(const QModelIndex &index) const
bool isPersistentEditorOpen(const QModelIndex &index) const
QAbstractItemDelegate * itemDelegate() const
QAbstractItemDelegate * itemDelegate(const QModelIndex &index) const
QAbstractItemDelegate * itemDelegateForColumn(int column) const
QAbstractItemDelegate * itemDelegateForRow(int row) const
virtual void keyboardSearch(const QString &search)
QAbstractItemModel * model() const
void openPersistentEditor(const QModelIndex &index)
void resetHorizontalScrollMode()
void resetVerticalScrollMode()
QModelIndex rootIndex() const
virtual void scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint = EnsureVisible) = 0
QAbstractItemView::SelectionBehavior selectionBehavior() const
QAbstractItemView::SelectionMode selectionMode() const
QItemSelectionModel * selectionModel() const
void setAlternatingRowColors(bool enable)
void setAutoScroll(bool enable)
void setAutoScrollMargin(int margin)
void setDefaultDropAction(Qt::DropAction dropAction)
void setDragDropMode(QAbstractItemView::DragDropMode behavior)
void setDragDropOverwriteMode(bool overwrite)
void setDragEnabled(bool enable)
void setDropIndicatorShown(bool enable)
void setEditTriggers(QAbstractItemView::EditTriggers triggers)
void setHorizontalScrollMode(QAbstractItemView::ScrollMode mode)
void setIconSize(const QSize &size)
void setIndexWidget(const QModelIndex &index, QWidget *widget)
void setItemDelegate(QAbstractItemDelegate *delegate)
void setItemDelegateForColumn(int column, QAbstractItemDelegate *delegate)
void setItemDelegateForRow(int row, QAbstractItemDelegate *delegate)
virtual void setModel(QAbstractItemModel *model)
void setSelectionBehavior(QAbstractItemView::SelectionBehavior behavior)
void setSelectionMode(QAbstractItemView::SelectionMode mode)
virtual void setSelectionModel(QItemSelectionModel *selectionModel)
void setTabKeyNavigation(bool enable)
void setTextElideMode(Qt::TextElideMode mode)
void setVerticalScrollMode(QAbstractItemView::ScrollMode mode)
bool showDropIndicator() const
виртуальный int sizeHintForColumn(int column) const
QSize sizeHintForIndex(const QModelIndex &index) const
виртуальный int sizeHintForRow(int row) const
bool tabKeyNavigation() const
Qt::TextElideMode textElideMode() const
QAbstractItemView::ScrollMode verticalScrollMode() const
виртуальный QRect visualRect(const QModelIndex &index) const = 0

Реализованные публичные функции

виртуальный QVariant inputMethodQuery(Qt::InputMethodQuery query) const override
  • 20 публичных функций унаследовано от QAbstractScrollArea
  • 14 публичных функций унаследовано от QFrame
  • 214 публичных функций унаследовано от QWidget
  • 31 публичной функции унаследовано от QObject
  • 14 публичных функций унаследовано от QPaintDevice

Публичные слоты

void clearSelection()
void edit(const QModelIndex &index)
виртуальный void reset()
void прокрутитьВниз()
void прокрутитьВверх()
виртуальный void выделитьВсе()
void установитьТекущийИндекс(const QModelIndex &index)
виртуальный void установитьКорневойИндекс(const QModelIndex &index)
void обновить(const QModelIndex &index)
  • 19 публичных слотов унаследовано от QWidget
  • 1 публичный слот унаследовано от QObject

Сигналы

void activated(const QModelIndex &index)
void clicked(const QModelIndex &index)
void doubleClicked(const QModelIndex &index)
void entered(const QModelIndex &index)
void iconSizeChanged(const QSize &size)
void pressed(const QModelIndex &index)
void viewportEntered()
  • 3 сигнала унаследовано от QWidget
  • 2 сигнала унаследовано от QObject

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

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

Защищенные типы

перечисление CursorAction { MoveUp, MoveDown, MoveLeft, MoveRight, ..., MovePrevious }
перечисление DropIndicatorPosition { OnItem, AboveItem, BelowItem, OnViewport }
перечисление State { NoState, DraggingState, DragSelectingState, EditingState, ..., AnimatingState }

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

QPoint dirtyRegionOffset() const
QAbstractItemView::DropIndicatorPosition dropIndicatorPosition() const
виртуальный bool edit(const QModelIndex &index, QAbstractItemView::EditTrigger trigger, QEvent *event)
void executeDelayedItemsLayout()
виртуальный int горизонтальныйОфсет() const = 0
виртуальный bool isIndexHidden(const QModelIndex &index) const = 0
виртуальный QModelIndex переместитьКурсор(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers) = 0
void scheduleDelayedItemsLayout()
void scrollDirtyRegion(int dx, int dy)
виртуальный QModelIndexList selectedIndexes() const
виртуальный QItemSelectionModel::SelectionFlags selectionCommand(const QModelIndex &index, const QEvent *event = nullptr) const
void setDirtyRegion(const QRegion &region)
виртуальный void setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags flags) = 0
void setState(QAbstractItemView::State state)
виртуальный void startDrag(Qt::DropActions supportedActions)
QAbstractItemView::State state() const
виртуальный int вертикальныйОфсет() const = 0
виртуальный QStyleOptionViewItem viewOptions() const
виртуальный QRegion visualRegionForSelection(const QItemSelection &selection) const = 0

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

виртуальный void dragEnterEvent(QDragEnterEvent *event) override
виртуальный void dragLeaveEvent(QDragLeaveEvent *event) override
виртуальный void dragMoveEvent(QDragMoveEvent *event) override
виртуальный void dropEvent(QDropEvent *event) override
виртуальный bool event(QEvent *event) override
виртуальный bool eventFilter(QObject *object, QEvent *event) override
виртуальный void focusInEvent(QFocusEvent *event) override
виртуальный bool focusNextPrevChild(bool next) override
виртуальный void focusOutEvent(QFocusEvent *event) override
виртуальный void inputMethodEvent(QInputMethodEvent *event) override
виртуальный void keyPressEvent(QKeyEvent *event) override
виртуальный void mouseDoubleClickEvent(QMouseEvent *event) override
виртуальный void mouseMoveEvent(QMouseEvent *event) override
виртуальный void mousePressEvent(QMouseEvent *event) override
виртуальный void mouseReleaseEvent(QMouseEvent *event) override
виртуальный void resizeEvent(QResizeEvent *event) override
виртуальный void timerEvent(QTimerEvent *event) override
виртуальный bool viewportEvent(QEvent *event) override
виртуальный QSize viewportSizeHint() const override
  • 20 защищенных функций, унаследованных от QAbstractScrollArea
  • 4 защищенных функций, унаследованных от QFrame
  • 35 защищенных функций, унаследованных от QWidget
  • 9 защищенных функций, унаследованных от QObject
  • 1 защищенная функция, унаследованная от QPaintDevice

Защищенные слоты

виртуальный void closeEditor(QWidget *editor, QAbstractItemDelegate::EndEditHint hint)
виртуальный void commitData(QWidget *editor)
виртуальный void currentChanged(const QModelIndex &current, const QModelIndex &previous)
виртуальный void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector<int> &roles = QVector<int>())
виртуальный void editorDestroyed(QObject *editor)
виртуальный void rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end)
виртуальный void rowsInserted(const QModelIndex &parent, int start, int end)
виртуальный void selectionChanged(const QItemSelection &selected, const QItemSelection &deselected)
виртуальный void updateGeometries()
  • 1 защищенный слот, унаследованный от QWidget

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

Класс QAbstractItemView предоставляет базовые возможности для классов виджетов отображения элементов.

QAbstractItemView — базовый класс для всех стандартных представлений, использующих QAbstractItemModel. QAbstractItemView — абстрактный класс и сам по себе не может быть создан. Он предоставляет стандартный интерфейс для взаимодействия с моделями через механизм сигналов и слотов, позволяя подклассам оставаться в актуальном состоянии при изменениях в моделях. Этот класс предоставляет стандартную поддержку навигации с помощью клавиатуры и мыши, прокрутки области просмотра, редактирования элементов и выбора элементов. Навигация с помощью клавиатуры реализует эту функциональность:

Клавиши Функциональность
Клавиши со стрелками Изменяет текущий элемент и выбирает его.
Ctrl+Клавиши со стрелками Изменяет текущий элемент, но не выбирает его.
Shift+Клавиши со стрелками Изменяет текущий элемент и выбирает его. Ранее выбранный(ые) элемент(ы) не снимается с выбора.
Ctrl+Пробел Переключает выбор текущего элемента.
Tab/Backtab Изменяет текущий элемент на следующий/предыдущий элемент.
Home/End Выбирает первый/последний элемент в модели.
Page up/Page down Прокручивает отображаемые строки вверх/вниз на количество видимых строк в представлении.
Ctrl+A Выбирает все элементы в модели.

Обратите внимание, что в приведенной выше таблице предполагается, что режим выбора режима выбора допускает эти операции. Например, вы не можете выбирать элементы, если режим выбора — QAbstractItemView::NoSelection.

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

Классы представлений, унаследованные от QAbstractItemView, должны только реализовывать свою специфичную для представления функциональность, например, рисование элементов, возвращение геометрии элементов, поиск элементов и т. д.

QAbstractItemView предоставляет общие слоты, такие как edit() и setCurrentIndex(). Также предоставляется много защищенных слотов, включая dataChanged(), rowsInserted(), rowsAboutToBeRemoved(), selectionChanged() и currentChanged().

Корневой элемент возвращается функцией rootIndex(), а текущий элемент — функцией currentIndex(). Чтобы убедиться, что элемент виден, используйте scrollTo().

Некоторые функции QAbstractItemView связаны с прокруткой, например, setHorizontalScrollMode() и setVerticalScrollMode(). Для установки диапазона полос прокрутки можно, например, переопределить функцию resizeEvent() представления:

void MyView::resizeEvent(QResizeEvent *event) {
    horizontalScrollBar()->setRange(0, realWidth - width());
    ...
}

Обратите внимание, что диапазон не обновляется до тех пор, пока виджет не будет показан.

Несколько других функций связаны с управлением выбором; например, setSelectionMode() и setSelectionBehavior(). Этот класс предоставляет модель выбора по умолчанию для работы (selectionModel()), но ее можно заменить, используя setSelectionModel() с экземпляром QItemSelectionModel.

Для полного управления отображением и редактированием элементов можно указать делегата с помощью setItemDelegate().

QAbstractItemView предоставляет множество защищённых функций. Некоторые из них связаны с редактированием, например, edit() и commitData(), а другие — обработчики событий клавиатуры и мыши.

Примечание: Если вы наследуете QAbstractItemView и намерены обновить содержимое области просмотра, вы должны использовать viewport->update() вместо update(), так как все операции рисования выполняются в области просмотра.

См. также Классы представлений, Программирование модели/представления, QAbstractItemModel и Пример диаграммы.

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

enum QAbstractItemView::CursorAction

Этот перечисление описывает различные способы навигации между элементами.

Константа Значение Описание
QAbstractItemView::MoveUp 0 Перейти к элементу, расположенному над текущим.
QAbstractItemView::MoveDown 1 Перейти к элементу, расположенному под текущим.
QAbstractItemView::MoveLeft 2 Перейти к элементу, расположенному слева от текущего.
QAbstractItemView::MoveRight 3 Перейти к элементу, расположенному справа от текущего.
QAbstractItemView::MoveHome 4 Перейти к элементу в верхнем левом углу.
QAbstractItemView::MoveEnd 5 Перейти к элементу в нижнем правом углу.
QAbstractItemView::MovePageUp 6 Переместиться на страницу вверх относительно текущего элемента.
QAbstractItemView::MovePageDown 7 Переместиться на страницу вниз относительно текущего элемента.
QAbstractItemView::MoveNext 8 Перейти к элементу, следующему за текущим.
QAbstractItemView::MovePrevious 9 Перейти к элементу, предшествующему текущему.

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

enum QAbstractItemView::DragDropMode

Описывает различные события перетаскивания и выгрузки, на которые может реагировать представление. По умолчанию представление не поддерживает перетаскивание или выгрузку (NoDragDrop).

Константа Значение Описание
QAbstractItemView::NoDragDrop 0 Не поддерживает перетаскивание или выгрузку.
QAbstractItemView::DragOnly 1 Представление поддерживает перетаскивание собственных элементов.
QAbstractItemView::DropOnly 2 Представление принимает выгрузки.
QAbstractItemView::DragDrop 3 Представление поддерживает как перетаскивание, так и выгрузку.
QAbstractItemView::InternalMove 4 Представление принимает только операции перемещения (не копирования) только из себя.

Обратите внимание, что используемая модель должна предоставлять поддержку операций перетаскивания и выгрузки.

Это перечисление было введено или изменено в Qt 4.2.

См. также setDragDropMode() и Использование перетаскивания и выгрузки с представлениями элементов.

enum QAbstractItemView::DropIndicatorPosition

Это перечисление указывает положение индикатора выгрузки относительно индекса в текущем положении мыши:

Константа Значение Описание
QAbstractItemView::OnItem 0 Элемент будет выгружен на индекс.
QAbstractItemView::AboveItem 1 Элемент будет выгружен над индексом.
QAbstractItemView::BelowItem 2 Элемент будет выгружен под индексом.
QAbstractItemView::OnViewport 3 Элемент будет выгружен в область просмотра без элементов. Способ обработки каждого представления элементов, выгруженных в область просмотра, зависит от поведения используемой основной модели.

enum QAbstractItemView::EditTriggerflags QAbstractItemView::EditTriggers

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

Константа Значение Описание
QAbstractItemView::NoEditTriggers 0 Редактирование невозможно.
QAbstractItemView::CurrentChanged 1 Редактирование начинается при изменении текущего элемента.
QAbstractItemView::DoubleClicked 2 Редактирование начинается при двойном щелчке по элементу.
QAbstractItemView::SelectedClicked 4 Редактирование начинается при щелчке по уже выбранному элементу.
QAbstractItemView::EditKeyPressed 8 Редактирование начинается при нажатии клавиши редактирования платформы над элементом.
QAbstractItemView::AnyKeyPressed 16 Редактирование начинается при нажатии любой клавиши над элементом.
QAbstractItemView::AllEditTriggers 31 Редактирование начинается при выполнении всех вышеуказанных действий.

Тип EditTriggers является псевдонимом для QFlags<EditTrigger>. Он хранит логическое ИЛИ сочетание значений EditTrigger.

enum QAbstractItemView::ScrollHint

Константа Значение Описание
QAbstractItemView::EnsureVisible 0 Прокрутить, чтобы элемент стал видимым.
QAbstractItemView::PositionAtTop 1 Прокрутить, чтобы элемент был вверху области просмотра.
QAbstractItemView::PositionAtBottom 2 Прокрутить, чтобы элемент был внизу области просмотра.
QAbstractItemView::PositionAtCenter 3 Прокрутить, чтобы элемент был в центре области просмотра.

enum QAbstractItemView::ScrollMode

Описывает, как должна работать полоса прокрутки. При установке режима прокрутки ScrollPerPixel размер единичного шага будет автоматически корректироваться, если он не был явно задан с помощью setSingleStep(). Автоматическая корректировка может быть восстановлена путем установки размера единичного шага в -1.

Константа Значение Описание
QAbstractItemView::ScrollPerItem 0 Представление будет прокручивать содержимое на один элемент за раз.
QAbstractItemView::ScrollPerPixel 1 Представление будет прокручивать содержимое на один пиксель за раз.

Это перечисление было введено или изменено в Qt 4.2.

enum QAbstractItemView::SelectionBehavior

Константа Значение Описание
QAbstractItemView::SelectItems 0 Выбор отдельных элементов.
QAbstractItemView::SelectRows 1 Выбор только строк.
QAbstractItemView::SelectColumns 2 Выбор только столбцов.

enum QAbstractItemView::SelectionMode

Это перечисление указывает, как представление реагирует на пользовательские выделения:

Постоянная Значение Описание
QAbstractItemView::SingleSelection 1 При выборе пользователем элемента, все ранее выбранные элементы становятся невыбранными. Пользователь может отменить выбор выбранного элемента.
QAbstractItemView::ContiguousSelection 4 При обычном выборе пользователем элемента, выбор очищается, и выбирается новый элемент. Однако, если пользователь нажимает клавишу Shift при щелчке по элементу, все элементы между текущим элементом и щелкнутым элементом выбираются или убираются с выбора, в зависимости от состояния щелкнутого элемента.
QAbstractItemView::ExtendedSelection 3 При обычном выборе пользователем элемента, выбор очищается, и выбирается новый элемент. Однако, если пользователь нажимает клавишу Ctrl при щелчке по элементу, щелкнутый элемент переключается в противоположное состояние, а остальные элементы остаются без изменений. Если пользователь нажимает клавишу Shift при щелчке по элементу, все элементы между текущим элементом и щелкнутым элементом выбираются или убираются с выбора, в зависимости от состояния щелкнутого элемента. Несколько элементов можно выбрать, перетащив курсор мыши по ним.
QAbstractItemView::MultiSelection 2 При обычном выборе пользователем элемента, состояние выбора этого элемента переключается, а другие элементы остаются без изменений. Несколько элементов можно переключить, перетащив курсор мыши по ним.
QAbstractItemView::NoSelection 0 Элементы не могут быть выбраны.

Наиболее часто используемыми режимами являются SingleSelection и ExtendedSelection.

enum QAbstractItemView::State

Описывает различные состояния, в которых может находиться представление. Это обычно интересно только при реализации собственного представления.

Постоянная Значение Описание
QAbstractItemView::NoState 0 Это состояние по умолчанию.
QAbstractItemView::DraggingState 1 Пользователь перетаскивает элементы.
QAbstractItemView::DragSelectingState 2 Пользователь выбирает элементы.
QAbstractItemView::EditingState 3 Пользователь редактирует элемент в редакторе виджетов.
QAbstractItemView::ExpandingState 4 Пользователь открывает ветвь элементов.
QAbstractItemView::CollapsingState 5 Пользователь закрывает ветвь элементов.
QAbstractItemView::AnimatingState 6 Представление элементов выполняет анимацию.

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

alternatingRowColors : bool

Это свойство определяет, следует ли рисовать фон, используя чередующиеся цвета.

Если это свойство имеет значение true, фон элемента будет нарисован с использованием QPalette::Base и QPalette::AlternateBase; в противном случае фон будет нарисован с использованием цвета QPalette::Base.

По умолчанию это свойство имеет значение false.

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

bool alternatingRowColors() const
void setAlternatingRowColors(bool enable)

autoScroll : bool

Это свойство определяет, включена ли автоматическая прокрутка при событиях перетаскивания.

Если это свойство установлено в true (значение по умолчанию), QAbstractItemView автоматически прокручивает содержимое представления, если пользователь перетаскивает в пределах 16 пикселей от края области просмотра. Если текущий элемент изменяется, представление будет автоматически прокручиваться, чтобы обеспечить полную видимость текущего элемента.

Это свойство работает только в том случае, если область просмотра принимает перетаскивание. Автоматическая прокрутка отключается, если установить это свойство в false.

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

bool hasAutoScroll() const
void setAutoScroll(bool enable)

autoScrollMargin : int

Это свойство определяет размер области, при достижении которой запускается автоматическая прокрутка.

Это свойство управляет размером области на краю области просмотра, которая запускает автоматическую прокрутку. Значение по умолчанию — 16 пикселей.

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

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

int autoScrollMargin() const
void setAutoScrollMargin(int margin)

defaultDropAction : Qt::DropAction

Это свойство содержит действие перетаскивания, которое будет использоваться по умолчанию в QAbstractItemView::drag().

Если свойство не установлено, действием перетаскивания является CopyAction, если поддерживаемые действия поддерживают CopyAction.

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

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

Qt::DropAction defaultDropAction() const
void setDefaultDropAction(Qt::DropAction dropAction)

См. также showDropIndicator и dragDropOverwriteMode.

dragDropMode : DragDropMode

Это свойство содержит событие перетаскивания, на которое будет реагировать представление.

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

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

QAbstractItemView::DragDropMode dragDropMode() const
void setDragDropMode(QAbstractItemView::DragDropMode behavior)

См. также showDropIndicator и dragDropOverwriteMode.

dragDropOverwriteMode : bool

Это свойство определяет поведение перетаскивания в представлении.

Если его значение равно true, выбранные данные перезапишут существующие данные элемента при перетаскивании, а перемещение данных очистит элемент. Если его значение равно false, выбранные данные будут вставлены как новый элемент при перетаскивании данных. При перемещении данных элемент также будет удален.

Значение по умолчанию — false, как в подклассах QListView и QTreeView. В подклассе QTableView, с другой стороны, свойство установлено в true.

Примечание: это не предназначено для предотвращения перезаписи элементов. Реализация model's implementation of flags() должна делать это, не возвращая Qt::ItemIsDropEnabled.

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

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

bool dragDropOverwriteMode() const
void setDragDropOverwriteMode(bool overwrite)

См. также dragDropMode.

dragEnabled : bool

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

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

bool dragEnabled() const
void setDragEnabled(bool enable)

См. также showDropIndicator, DragDropMode, dragDropOverwriteMode, и acceptDrops.

editTriggers : EditTriggers

Это свойство определяет, какие действия будут инициировать редактирование элемента.

Это свойство представляет собой набор флагов, определенных EditTrigger, объединенных с помощью оператора ИЛИ. Представление инициирует редактирование элемента только в том случае, если выполненное действие установлено в этом свойстве.

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

QAbstractItemView::EditTriggers editTriggers() const
void setEditTriggers(QAbstractItemView::EditTriggers triggers)

horizontalScrollMode : ScrollMode

как представление прокручивает свое содержимое в горизонтальном направлении

Это свойство управляет тем, как представление прокручивает свое содержимое по горизонтали. Прокрутка может выполняться либо по пикселям, либо по элементам. Его значение по умолчанию поступает из стиля через подсказку стиля QStyle::SH_ItemView_ScrollMode.

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

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

QAbstractItemView::ScrollMode horizontalScrollMode() const
void setHorizontalScrollMode(QAbstractItemView::ScrollMode mode)
void resetHorizontalScrollMode()

iconSize : QSize

Это свойство определяет размер значков элементов.

Установка этого свойства, когда представление отображается, приведет к повторной компоновке элементов.

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

QSize iconSize() const
void setIconSize(const QSize &size)

Сигнал уведомления:

void iconSizeChanged(const QSize &size)

selectionBehavior : SelectionBehavior

Это свойство определяет поведение выбора, используемое представлением.

Это свойство определяет, осуществляется ли выбор в терминах отдельных элементов, строк или столбцов.

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

QAbstractItemView::SelectionBehavior selectionBehavior() const
void setSelectionBehavior(QAbstractItemView::SelectionBehavior behavior)

См. также SelectionMode и SelectionBehavior.

selectionMode : SelectionMode

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

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

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

QAbstractItemView::SelectionMode selectionMode() const
void setSelectionMode(QAbstractItemView::SelectionMode mode)

См. также SelectionMode и SelectionBehavior.

showDropIndicator : bool

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

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

bool showDropIndicator() const
void setDropIndicatorShown(bool enable)

См. также dragEnabled, DragDropMode, dragDropOverwriteMode и acceptDrops.

tabKeyNavigation : bool

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

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

bool tabKeyNavigation() const
void setTabKeyNavigation(bool enable)

textElideMode : Qt::TextElideMode

Это свойство определяет позицию "..." в усечённом тексте.

Значение по умолчанию для всех представлений элементов — Qt::ElideRight.

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

Qt::TextElideMode textElideMode() const
void setTextElideMode(Qt::TextElideMode mode)

verticalScrollMode : ScrollMode

режим прокрутки содержимого представления в вертикальном направлении

Это свойство контролирует способ прокрутки содержимого представления по вертикали. Прокрутка может выполняться по пикселям или по элементам. Значение по умолчанию определяется стилем через подсказку стиля QStyle::SH_ItemView_ScrollMode.

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

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

QAbstractItemView::ScrollMode verticalScrollMode() const
void setVerticalScrollMode(QAbstractItemView::ScrollMode mode)
void resetVerticalScrollMode()

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

QAbstractItemView::QAbstractItemView(QWidget *parent = nullptr)

Создаёт представление абстрактных элементов с заданным parent.

[virtual] QAbstractItemView::~QAbstractItemView()

Удаляет представление.

[signal] void QAbstractItemView::activated(const QModelIndex &index)

Этот сигнал излучается, когда пользователь активирует элемент, указанный индексом index. Способ активации элементов зависит от платформы; например, одиночным или двойным щелчком, или нажатием клавиш Return или Enter, когда элемент является текущим.

См. также clicked(), doubleClicked(), entered() и pressed().

[slot] void QAbstractItemView::clearSelection()

Снимает выделение со всех выделенных элементов. Текущий индекс не изменится.

См. также setSelection() и selectAll().

[signal] void QAbstractItemView::clicked(const QModelIndex &index)

Этот сигнал излучается, когда нажата левая кнопка мыши. Элемент, на который был нажат клик, задаётся индексом index. Сигнал излучается только при валидном индексе.

См. также activated(), doubleClicked(), entered() и pressed().

[virtual protected slot] void QAbstractItemView::closeEditor(QWidget *editor, QAbstractItemDelegate::EndEditHint hint)

Закрывает заданный editor и освобождает его. hint используется для указания того, как представлению следует реагировать на завершение операции редактирования. Например, подсказка может указывать, что следующий элемент в представлении должен быть открыт для редактирования.

См. также edit() и commitData().

void QAbstractItemView::closePersistentEditor(const QModelIndex &index)

Закрывает постоянный редактор для элемента по заданному index.

См. также openPersistentEditor() и isPersistentEditorOpen().

[virtual protected slot] void QAbstractItemView::commitData(QWidget *editor)

Сохраняет данные из editor в модель.

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

[virtual protected slot] void QAbstractItemView::currentChanged(const QModelIndex &current, const QModelIndex &previous)

Этот слот вызывается, когда новый элемент становится текущим. Предыдущий текущий элемент задаётся индексом previous, а новый — индексом current.

Если вам нужны сведения о изменениях элементов, обратитесь к сигналу dataChanged().

QModelIndex QAbstractItemView::currentIndex() const

Возвращает индекс модели текущего элемента.

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

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

Этот слот вызывается, когда элементы с заданными roles изменяются в модели. Изменённые элементы находятся от topLeft до bottomRight включительно. Если изменяется только один элемент, topLeft == bottomRight.

roles, которые были изменены, могут быть либо пустым контейнером (что означает, что всё было изменено), либо непустым контейнером с подмножеством изменённых ролей.

[protected] QPoint QAbstractItemView::dirtyRegionOffset() const

Возвращает смещение грязных областей в представлении.

Если вы используете scrollDirtyRegion() и реализуете paintEvent() в подклассе QAbstractItemView, вы должны переводить область, заданную событием рисования, со смещением, возвращаемым этой функцией.

См. также scrollDirtyRegion() и setDirtyRegion().

[signal] void QAbstractItemView::doubleClicked(const QModelIndex &index)

Этот сигнал излучается, когда двойной щелчок нажатия на кнопку мыши. Элемент, на который был произведён двойной клик, задаётся индексом index. Сигнал излучается только при валидном индексе.

См. также clicked() и activated().

[override virtual protected] void QAbstractItemView::dragEnterEvent(QDragEnterEvent *event)

Переопределено из QAbstractScrollArea::dragEnterEvent().

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

См. также dropEvent() и startDrag().

[override virtual protected] void QAbstractItemView::dragLeaveEvent(QDragLeaveEvent *event)

Переопределено из QAbstractScrollArea::dragLeaveEvent().

Эта функция вызывается, когда элемент, который перетаскивается, покидает виджет. event описывает состояние операции перетаскивания и опускания.

[override virtual protected] void QAbstractItemView::dragMoveEvent(QDragMoveEvent *event)

Переопределено из QAbstractScrollArea::dragMoveEvent().

Эта функция вызывается непрерывно с заданным event во время операции перетаскивания и опускания над виджетом. Она может вызвать прокрутку виджета, если, например, пользователь перетаскивает выделение к правому или нижнему краю виджета. В этом случае событие будет принято; в противном случае оно будет проигнорировано.

См. также dropEvent() и startDrag().

[override virtual protected] void QAbstractItemView::dropEvent(QDropEvent *event)

Переопределено из QAbstractScrollArea::dropEvent().

Эта функция вызывается со значением event, когда происходит событие опускания над виджетом. Если модель принимает позицию события опускания, событие обрабатывается; в противном случае оно игнорируется.

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

[protected] QAbstractItemView::DropIndicatorPosition QAbstractItemView::dropIndicatorPosition() const

Возвращает положение индикатора опускания относительно ближайшего элемента.

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

[slot] void QAbstractItemView::edit(const QModelIndex &index)

Начинает редактирование элемента, соответствующего заданному index, если он редактируемый.

Обратите внимание, что эта функция не изменяет текущий индекс. Поскольку текущий индекс определяет следующие и предыдущие элементы для редактирования, пользователи могут обнаружить, что навигация с клавиатуры не работает так, как ожидается. Для обеспечения согласованного поведения навигации вызовите setCurrentIndex() перед этой функцией с тем же индексом модели.

См. также QModelIndex::flags().

[virtual protected] bool QAbstractItemView::edit(const QModelIndex &index, QAbstractItemView::EditTrigger trigger, QEvent *event)

Начинает редактирование элемента по index, создавая редактор при необходимости, и возвращает true если состояние виджета State теперь EditingState; в противном случае возвращает false.

Действие, вызвавшее процесс редактирования, описывается trigger, а связанное событие задано event.

Редактирование можно принудительно выполнить, указав trigger как QAbstractItemView::AllEditTriggers.

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

[virtual protected slot] void QAbstractItemView::editorDestroyed(QObject *editor)

Эта функция вызывается, когда заданный editor был уничтожен.

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

[signal] void QAbstractItemView::entered(const QModelIndex &index)

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

См. также viewportEntered(), activated(), clicked(), doubleClicked() и pressed().

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

Переопределено из QAbstractScrollArea::event().

[override virtual protected] bool QAbstractItemView::eventFilter(QObject *object, QEvent *event)

[protected] void QAbstractItemView::executeDelayedItemsLayout()

Выполняет запланированные макеты без ожидания начала обработки событий.

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

[override virtual protected] void QAbstractItemView::focusInEvent(QFocusEvent *event)

Переопределено из QWidget::focusInEvent().

Эта функция вызывается со значением event, когда виджет получает фокус. По умолчанию событие игнорируется.

См. также setFocus() и focusOutEvent().

[override virtual protected] bool QAbstractItemView::focusNextPrevChild(bool next)

Переопределено из QWidget::focusNextPrevChild().

[override virtual protected] void QAbstractItemView::focusOutEvent(QFocusEvent *event)

Переопределено из QWidget::focusOutEvent().

Эта функция вызывается со значением event, когда виджет теряет фокус. По умолчанию событие игнорируется.

См. также clearFocus() и focusInEvent().

[pure virtual protected] int QAbstractItemView::horizontalOffset() const

Возвращает горизонтальное смещение виджета.

В базовом классе это чисто виртуальная функция.

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

[pure virtual] QModelIndex QAbstractItemView::indexAt(const QPoint &point) const

Возвращает индекс модели элемента в координатах области отображения point.

В базовом классе это чисто виртуальная функция.

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

QWidget *QAbstractItemView::indexWidget(const QModelIndex &index) const

Возвращает виджет для элемента по заданному index.

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

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

[override virtual protected] void QAbstractItemView::inputMethodEvent(QInputMethodEvent *event)

Переопределено из QWidget::inputMethodEvent().

[override virtual] QVariant QAbstractItemView::inputMethodQuery(Qt::InputMethodQuery query) const

Переопределено из QWidget::inputMethodQuery().

[pure virtual protected] bool QAbstractItemView::isIndexHidden(const QModelIndex &index) const

Возвращает true если элемент, на который ссылается заданный index, скрыт в виджете, в противном случае возвращает false.

Скрытие — это функция, специфичная для виджета. Например, в TableView столбец может быть помечен как скрытый, а строка — в TreeView.

В базовом классе это чисто виртуальная функция.

bool QAbstractItemView::isPersistentEditorOpen(const QModelIndex &index) const

Возвращает, открыт ли постоянный редактор для элемента по индексу index.

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

См. также openPersistentEditor() и closePersistentEditor().

QAbstractItemDelegate *QAbstractItemView::itemDelegate() const

Возвращает делегат элемента, используемый этим виджетом и моделью. Это либо делегат, установленный с помощью setItemDelegate(), либо по умолчанию.

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

QAbstractItemDelegate *QAbstractItemView::itemDelegate(const QModelIndex &index) const

Возвращает делегат элемента, используемый этим виджетом и моделью для данного index.

QAbstractItemDelegate *QAbstractItemView::itemDelegateForColumn(int column) const

Возвращает делегат элементов, используемый этим представлением и моделью для указанного столбца column. Вы можете вызвать itemDelegate(), чтобы получить указатель на текущий делегат для заданного индекса.

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

См. также setItemDelegateForColumn(), itemDelegateForRow() и itemDelegate().

QAbstractItemDelegate *QAbstractItemView::itemDelegateForRow(int row) const

Возвращает делегат элементов, используемый этим представлением и моделью для указанной строки row, или 0, если делегат не назначен. Вы можете вызвать itemDelegate(), чтобы получить указатель на текущий делегат для заданного индекса.

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

См. также setItemDelegateForRow(), itemDelegateForColumn() и setItemDelegate().

[override virtual protected] void QAbstractItemView::keyPressEvent(QKeyEvent *event)

Переопределено из QAbstractScrollArea::keyPressEvent().

Эта функция вызывается с заданным событием event при отправке события нажатия клавиши на виджет. Базовая реализация обрабатывает основные перемещения курсора, например, Вверх, Вниз, Влево, Вправо, Домой, Пред. страница, и След. страница; сигнал activated() генерируется, если текущий индекс действителен и нажата клавиша активации (например, Enter или Возврат, в зависимости от платформы). В этой функции происходит инициирование редактирования при нажатии клавиши, например, если нажата F2.

См. также edit(), moveCursor(), keyboardSearch() и tabKeyNavigation.

[virtual] void QAbstractItemView::keyboardSearch(const QString &search)

Перемещает и выбирает элемент, наилучшим образом соответствующий строке search. Если элемент не найден, ничего не происходит.

В базовой реализации поиск сбрасывается, если search пустая или интервал времени с момента последнего поиска превысил QApplication::keyboardInputInterval().

QAbstractItemModel *QAbstractItemView::model() const

Возвращает модель, которую отображает это представление.

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

[override virtual protected] void QAbstractItemView::mouseDoubleClickEvent(QMouseEvent *event)

Переопределено из QAbstractScrollArea::mouseDoubleClickEvent().

Эта функция вызывается с заданным событием event при двойном щелчке кнопкой мыши внутри виджета. Если двойной щелчок происходит по валидному элементу, генерируется сигнал doubleClicked() и вызывается edit() для элемента.

[override virtual protected] void QAbstractItemView::mouseMoveEvent(QMouseEvent *event)

Переопределено из QAbstractScrollArea::mouseMoveEvent().

Эта функция вызывается с заданным событием event при отправке события перемещения мыши на виджет. Если происходит выбор, и новые элементы перемещаются над выделением, то выделение расширяется; если происходит перетаскивание, оно продолжается.

[override virtual protected] void QAbstractItemView::mousePressEvent(QMouseEvent *event)

Переопределено из QAbstractScrollArea::mousePressEvent().

Эта функция вызывается с заданным событием event при нажатии кнопки мыши, когда курсор находится внутри виджета. Если нажат действительный элемент, он становится текущим элементом. Функция генерирует сигнал pressed().

[override virtual protected] void QAbstractItemView::mouseReleaseEvent(QMouseEvent *event)

Переопределено из QAbstractScrollArea::mouseReleaseEvent().

Эта функция вызывается с заданным событием event при отпускании кнопки мыши после события нажатия мыши на виджете. Если пользователь нажимает кнопку мыши внутри вашего виджета, а затем перетаскивает мышь в другое место, прежде чем отпустить кнопку мыши, ваш виджет получит событие отпускания. Функция сгенерирует сигнал clicked(), если элемент был нажат.

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

Возвращает объект QModelIndex, указывающий на следующий объект в представлении, в зависимости от заданного cursorAction и модификаторов клавиатуры, заданных в modifiers.

В базовом классе это чисто виртуальная функция.

void QAbstractItemView::openPersistentEditor(const QModelIndex &index)

Открывает постоянный редактор для элемента по заданному index. Если редактор не существует, делегат создаст новый редактор.

См. также closePersistentEditor() и isPersistentEditorOpen().

[signal] void QAbstractItemView::pressed(const QModelIndex &index)

Этот сигнал генерируется при нажатии кнопки мыши. Элемент, на котором была нажата кнопка мыши, задан параметром index. Сигнал генерируется только при валидном индексе.

Используйте функцию QApplication::mouseButtons(), чтобы получить состояние кнопок мыши.

См. также activated(), clicked(), doubleClicked() и entered().

[virtual slot] void QAbstractItemView::reset()

Сбрасывает внутреннее состояние представления.

Предупреждение: Эта функция сбросит открытые редакторы, положения полос прокрутки, выделения и т. д. Действующие изменения не будут сохранены. Если вы хотите сохранить изменения при сбросе представления, вы можете переопределить эту функцию, сохранить ваши изменения и затем вызвать реализацию базового класса.

[override virtual protected] void QAbstractItemView::resizeEvent(QResizeEvent *event)

Переопределено из QAbstractScrollArea::resizeEvent().

Эта функция вызывается с заданным событием event при отправке события изменения размера на виджет.

См. также QWidget::resizeEvent().

QModelIndex QAbstractItemView::rootIndex() const

Возвращает индекс модели корневого элемента модели. Корневой элемент — это родительский элемент для элементов верхнего уровня представления. Корень может быть недействительным.

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

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

Этот слот вызывается при предстоящем удалении строк. Удаляемые строки находятся под заданным parent от start до end включительно.

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

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

Этот слот вызывается при вставке строк. Новые строки находятся под заданным parent от start до end включительно. Реализация базового класса вызывает fetchMore() для модели, чтобы проверить наличие дополнительных данных.

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

[protected] void QAbstractItemView::scheduleDelayedItemsLayout()

Планирует макет элементов представления для выполнения при старте обработки событий.

Даже если scheduleDelayedItemsLayout() вызывается несколько раз перед обработкой событий, представление выполнит макет только один раз.

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

[protected] void QAbstractItemView::scrollDirtyRegion(int dx, int dy)

Подготавливает представление к прокрутке на (dx,dy) пикселей, перемещая области с изменениями в противоположном направлении. Вам нужно вызывать эту функцию только в том случае, если вы реализуете область прокрутки в подклассе своего представления.

Если вы реализуете scrollContentsBy() в подклассе QAbstractItemView, вызовите эту функцию перед вызовом QWidget::scroll() для области просмотра. В качестве альтернативы, просто вызовите update().

См. также scrollContentsBy(), dirtyRegionOffset() и setDirtyRegion().

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

Прокручивает представление при необходимости, чтобы элемент по индексу index был виден. Представление попытается расположить элемент в соответствии с заданным hint.

В базовом классе это чистая виртуальная функция.

[slot] void QAbstractItemView::scrollToBottom()

Прокручивает представление до самого низа.

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

См. также scrollTo() и scrollToTop().

[slot] void QAbstractItemView::scrollToTop()

Прокручивает представление до самого верха.

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

См. также scrollTo() и scrollToBottom().

[virtual slot] void QAbstractItemView::selectAll()

Выделяет все элементы в представлении. Эта функция будет использовать поведение выделения, заданное в представлении.

См. также setSelection(), selectedIndexes() и clearSelection().

[virtual protected] QModelIndexList QAbstractItemView::selectedIndexes() const

Эта вспомогательная функция возвращает список всех выделенных и не скрытых индексов элементов в представлении. Список не содержит дубликатов и не отсортирован.

См. также QItemSelectionModel::selectedIndexes().

[virtual protected slot] void QAbstractItemView::selectionChanged(const QItemSelection &selected, const QItemSelection &deselected)

Этот слот вызывается при изменении выделения. Предыдущее выделение (которое может быть пустым) задаётся параметром deselected, а новое выделение — параметром selected.

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

[virtual protected] QItemSelectionModel::SelectionFlags QAbstractItemView::selectionCommand(const QModelIndex &index, const QEvent *event = nullptr) const

Возвращает SelectionFlags, которые следует использовать при обновлении выделения, чтобы включить указанный индекс index. event — это событие ввода пользователя, например, событие мыши или клавиатуры.

Переопределите эту функцию, чтобы определить собственное поведение выделения.

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

QItemSelectionModel *QAbstractItemView::selectionModel() const

Возвращает текущую модель выделения.

См. также setSelectionModel() и selectedIndexes().

[slot] void QAbstractItemView::setCurrentIndex(const QModelIndex &index)

Устанавливает текущий элемент в элемент по индексу index.

Если режим текущего выделения не NoSelection, то элемент также выделяется. Обратите внимание, что эта функция также обновляет начальную позицию для любых новых выделений, которые пользователь выполняет.

Чтобы установить элемент как текущий без его выделения, вызовите

selectionModel()->setCurrentIndex(index, QItemSelectionModel::NoUpdate);

См. также currentIndex(), currentChanged() и selectionMode.

[protected] void QAbstractItemView::setDirtyRegion(const QRegion &region)

Помечает заданную область region как грязную и планирует её обновление. Вам нужно вызывать эту функцию только в том случае, если вы реализуете свой собственный подкласс представления.

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

См. также scrollDirtyRegion() и dirtyRegionOffset().

void QAbstractItemView::setIndexWidget(const QModelIndex &index, QWidget *widget)

Устанавливает заданный widget для элемента по заданному индексу index, передавая владение widget в область просмотра.

Если index недействителен (например, если вы передаёте корневой индекс), эта функция ничего не сделает.

Свойство autoFillBackground заданного widget должно быть установлено в true, в противном случае фон widget будет прозрачным, показывая данные модели и элемент по заданному index.

Если виджет A заменяется на виджет B, виджет A будет удалён. Например, в приведённом ниже фрагменте кода объект QLineEdit будет удалён.

setIndexWidget(index, new QLineEdit);
...
setIndexWidget(index, new QTextEdit);

Эта функция должна использоваться только для отображения статического содержимого в видимой области, соответствующей элементу данных. Если вы хотите отобразить пользовательское динамическое содержимое или реализовать пользовательский виджет редактора, используйте подкласс QItemDelegate вместо этого.

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

См. также indexWidget() и Классы делегатов.

void QAbstractItemView::setItemDelegate(QAbstractItemDelegate *delegate)

Устанавливает делегат элемента для этого представления и его модели в delegate. Это полезно, если вы хотите полностью контролировать редактирование и отображение элементов.

Любой существующий делегат будет удалён, но не удалён. QAbstractItemView не получает владения delegate.

Предупреждение: Не следует использовать один и тот же экземпляр делегата для нескольких представлений. Это может привести к некорректному или неинтуитивному поведению редактирования, так как каждое представление, связанное с данным делегатом, может получить сигнал closeEditor() и попытаться получить доступ, изменить или закрыть редактор, который уже был закрыт.

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

void QAbstractItemView::setItemDelegateForColumn(int column, QAbstractItemDelegate *delegate)

Устанавливает указанный делегат элемента, используемый этим представлением и моделью для заданного столбца column. Все элементы в столбце column будут отрисованы и управляться delegate вместо использования стандартного делегата (т. е., itemDelegate()).

Любой существующий делегат столбца для column будет удалён, но не удалён. QAbstractItemView не получает владения delegate.

Примечание: Если делегат назначен как для строки, так и для столбца, делегат строки будет иметь приоритет и управлять пересекающимся индексом ячейки.

Предупреждение: Не следует использовать один и тот же экземпляр делегата для нескольких представлений. Это может привести к некорректному или неинтуитивному поведению редактирования, так как каждое представление, связанное с данным делегатом, может получить сигнал closeEditor() и попытаться получить доступ, изменить или закрыть редактор, который уже был закрыт.

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

См. также itemDelegateForColumn(), setItemDelegateForRow() и itemDelegate().

void QAbstractItemView::setItemDelegateForRow(int row, QAbstractItemDelegate *delegate)

Устанавливает указанный делегат элемента, используемый этим представлением и моделью для заданной строки row. Все элементы в строке row будут отрисованы и управляться delegate вместо использования стандартного делегата (т. е., itemDelegate()).

Любой существующий делегат строки для row будет удалён, но не удалён. QAbstractItemView не получает владения delegate.

Примечание: Если делегат назначен как для строки, так и для столбца, делегат строки (т. е., этот делегат) будет иметь приоритет и управлять пересекающимся индексом ячейки.

Предупреждение: Не следует использовать один и тот же экземпляр делегата для нескольких представлений. Это может привести к некорректному или неинтуитивному поведению редактирования, так как каждое представление, связанное с данным делегатом, может получить сигнал closeEditor() и попытаться получить доступ, изменить или закрыть редактор, который уже был закрыт.

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

См. также itemDelegateForRow(), setItemDelegateForColumn() и itemDelegate().

[virtual] void QAbstractItemView::setModel(QAbstractItemModel *model)

Устанавливает модель для представления вью.

Эта функция создаст и установит новую модель выбора, заменив любую ранее установленную модель с помощью setSelectionModel(). Однако старая модель выбора не будет удалена, так как она может быть разделена между несколькими представлениями. Рекомендуется удалить старую модель выбора, если она больше не требуется. Это делается с помощью следующего кода:

QItemSelectionModel *m = view->selectionModel();
view->setModel(new model);
delete m;

Если у старой модели и старой модели выбора нет родительских объектов, или если их родительские объекты являются долгоживущими, предпочтительнее вызвать их функции deleteLater(), чтобы явно удалить их.

Представление не принимает владение моделью, если только оно не является родительским объектом модели, потому что модель может быть разделена между многими различными представлениями.

См. также model(), selectionModel() и setSelectionModel().

[virtual slot] void QAbstractItemView::setRootIndex(const QModelIndex &index)

Устанавливает корневой элемент в элемент по заданному индексу.

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

[pure virtual protected] void QAbstractItemView::setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags flags)

Применяет флаги выбора flags к элементам внутри или касающимся прямоугольника rect.

При реализации собственного представления элементов setSelection следует вызвать selectionModel()->select(selection, flags), где selection — либо пустой QModelIndex, либо QItemSelection, содержащий все элементы, находящиеся внутри rect.

См. также selectionCommand() и selectedIndexes().

[virtual] void QAbstractItemView::setSelectionModel(QItemSelectionModel *selectionModel)

Устанавливает текущую модель выбора в заданную selectionModel.

Обратите внимание, что если вы вызовете setModel() после этой функции, заданная selectionModel будет заменена моделью, созданной представлением.

Примечание: Приложение должно удалить старую модель выбора, если она больше не нужна; т. е. если она не используется другими представлениями. Это произойдёт автоматически при удалении родительского объекта. Однако, если у него нет родительского объекта или родительский объект является долгоживущим, предпочтительнее вызвать его функцию deleteLater() для явного удаления.

См. также selectionModel(), setModel() и clearSelection().

[protected] void QAbstractItemView::setState(QAbstractItemView::State state)

Устанавливает состояние представления элементов в заданное state.

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

[virtual] int QAbstractItemView::sizeHintForColumn(int column) const

Возвращает ширину размера подсказки для указанного column или -1, если модели нет.

Эта функция используется в представлениях с горизонтальной заголовком для определения размера подсказки для раздела заголовка на основе содержимого заданного column.

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

QSize QAbstractItemView::sizeHintForIndex(const QModelIndex &index) const

Возвращает размер подсказки для элемента с заданным index или недопустимый размер для недопустимых индексов.

См. также sizeHintForRow() и sizeHintForColumn().

[virtual] int QAbstractItemView::sizeHintForRow(int row) const

Возвращает высоту размера подсказки для указанного row или -1, если модели нет.

Возвращаемая высота рассчитывается с использованием размеров подсказок элементов заданного row, т. е. возвращаемое значение — это максимальная высота среди элементов. Обратите внимание, что для управления высотой строки необходимо переопределить функцию QAbstractItemDelegate::sizeHint().

Эта функция используется в представлениях с вертикальной заголовком для определения размера подсказки для раздела заголовка на основе содержимого заданного row.

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

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

Инициализирует перетаскивание, вызвав drag->exec() с заданными supportedActions.

[protected] QAbstractItemView::State QAbstractItemView::state() const

Возвращает состояние представления элементов.

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

[override virtual protected] void QAbstractItemView::timerEvent(QTimerEvent *event)

Переопределено из QObject::timerEvent().

Эта функция вызывается с заданным event, когда в виджет отправляется событие таймера.

См. также QObject::timerEvent().

[slot] void QAbstractItemView::update(const QModelIndex &index)

Обновляет область, занимаемую заданным индексом.

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

[virtual protected slot] void QAbstractItemView::updateGeometries()

Обновляет геометрию дочерних виджетов представления.

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

[pure virtual protected] int QAbstractItemView::verticalOffset() const

Возвращает вертикальное смещение представления.

В базовом классе это чисто виртуальная функция.

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

[virtual protected] QStyleOptionViewItem QAbstractItemView::viewOptions() const

Возвращает структуру QStyleOptionViewItem, заполненную палитрой, шрифтом, состоянием, выравниваниями и т. д. представления.

[signal] void QAbstractItemView::viewportEntered()

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

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

[override virtual protected] bool QAbstractItemView::viewportEvent(QEvent *event)

Переопределено из QAbstractScrollArea::viewportEvent().

Эта функция используется для обработки всплывающих подсказок и режима «Что это?», если заданное event — QEvent::ToolTip или QEvent::WhatsThis. Все остальные события передаются в обработчик viewportEvent() базового класса.

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

Переопределено из QAbstractScrollArea::viewportSizeHint().

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

[pure virtual] QRect QAbstractItemView::visualRect(const QModelIndex &index) const

Возвращает прямоугольник в области просмотра, занимаемый элементом по индексу.

Если ваш элемент отображается в нескольких областях, visualRect должен возвращать основную область, содержащую index, а не полную область, которую index может охватывать, касаться или вызывать отрисовку.

В базовом классе это чисто виртуальная функция.

См. также indexAt() и visualRegionForSelection().

[pure virtual protected] QRegion QAbstractItemView::visualRegionForSelection(const QItemSelection &selection) const

Возвращает область в области просмотра элементов в заданном selection.

В базовом классе это чисто виртуальная функция.

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

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

Spec-Zone.ru

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