Spec-Zone.ru › Qt 5.9

Класс 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 = Q_NULLPTR)
~QAbstractItemView()
bool поочереднаяОкраскаСтрок() const
int отступАвтопрокрутки() const
void закрытьПостоянныйРедактор(const QModelIndex &index)
QModelIndex текущаяСтрока() const
Qt::DropAction поведениеПеретаскивания() const
DragDropMode режимПеретаскивания() const
bool режимПерезаписиПеретаскивания() const
bool перетаскиваниеВключено() const
EditTriggers триггерыРедактирования() const
bool автопрокруткаВключена() const
ScrollMode режимГоризонтальнойПрокрутки() const
QSize размерИконки() const
virtual QModelIndex индексВТочке(const QPoint &point) const = 0
QWidget * виджетИндекса(const QModelIndex &index) const
QAbstractItemDelegate * делегатЭлемента() const
QAbstractItemDelegate * делегатЭлемента(const QModelIndex &index) const
QAbstractItemDelegate * делегатЭлементаДляСтолбца(int column) const
QAbstractItemDelegate * делегатЭлементаДляСтроки(int row) const
virtual void поискСКлавиатуры(const QString &search)
QAbstractItemModel * модель() const
void открытьПостоянныйРедактор(const QModelIndex &index)
void сброситьРежимГоризонтальнойПрокрутки()
void сброситьРежимВертикальнойПрокрутки()
QModelIndex корневойИндекс() const
virtual void прокрутитьДо(const QModelIndex &index, ScrollHint hint = EnsureVisible) = 0
QAbstractItemView::SelectionBehavior поведениеВыделения() const
QAbstractItemView::SelectionMode режимВыделения() const
QItemSelectionModel * модельВыделения() const
void установитьПоочереднуюОкраскуСтрок(bool enable)
void установитьАвтопрокрутку(bool enable)
void установитьОтступАвтопрокрутки(int margin)
void установитьПоведениеПеретаскивания(Qt::DropAction dropAction)
void установитьРежимПеретаскивания(DragDropMode behavior)
void установитьРежимПерезаписиПеретаскивания(bool overwrite)
void установитьПеретаскивание(bool enable)
void установитьИндикаторПеретаскивания(bool enable)
void установитьТриггерыРедактирования(EditTriggers triggers)
void установитьРежимГоризонтальнойПрокрутки(ScrollMode mode)
void установитьРазмерИконки(const QSize &size)
void установитьВиджетИндекса(const QModelIndex &index, QWidget *widget)
void установитьДелегатЭлемента(QAbstractItemDelegate *delegate)
void установитьДелегатЭлементаДляСтолбца(int column, QAbstractItemDelegate *delegate)
void установитьДелегатЭлементаДляСтроки(int row, QAbstractItemDelegate *delegate)
virtual void установитьМодель(QAbstractItemModel *model)
void установитьПоведениеВыделения(QAbstractItemView::SelectionBehavior behavior)
void установитьРежимВыделения(QAbstractItemView::SelectionMode mode)
virtual void установитьМодельВыделения(QItemSelectionModel *selectionModel)
void установитьПереходНаСледующуюЯчейкуТабом(bool enable)
void установитьРежимОбрезанияТекста(Qt::TextElideMode mode)
void установитьРежимВертикальнойПрокрутки(ScrollMode mode)
bool индикаторПеретаскиванияОтображен() const
virtual int размерНаМестаСтолбца(int column) const
QSize размерНаМестаИндекса(const QModelIndex &index) const
virtual int sizeHintForRow(int row) const
bool tabKeyNavigation() const
Qt::TextElideMode textElideMode() const
ScrollMode verticalScrollMode() const
virtual QRect visualRect(const QModelIndex &index) const = 0

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

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

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

void clearSelection()
void edit(const QModelIndex &index)
virtual void reset()
void scrollToBottom()
void scrollToTop()
virtual void selectAll()
void setCurrentIndex(const QModelIndex &index)
virtual void setRootIndex(const QModelIndex &index)
void update(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

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

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

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

QPoint dirtyRegionOffset() const
DropIndicatorPosition dropIndicatorPosition() const
virtual bool edit(const QModelIndex &index, EditTrigger trigger, QEvent *event)
void executeDelayedItemsLayout()
virtual int horizontalOffset() const = 0
virtual bool isIndexHidden(const QModelIndex &index) const = 0
virtual QModelIndex moveCursor(CursorAction cursorAction, Qt::KeyboardModifiers modifiers) = 0
void scheduleDelayedItemsLayout()
void scrollDirtyRegion(int dx, int dy)
virtual QModelIndexList selectedIndexes() const
virtual QItemSelectionModel::SelectionFlags selectionCommand(const QModelIndex &index, const QEvent *event = Q_NULLPTR) const
void setDirtyRegion(const QRegion &region)
virtual void setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags flags) = 0
void setState(State state)
virtual void startDrag(Qt::DropActions supportedActions)
State state() const
virtual int verticalOffset() const = 0
virtual QStyleOptionViewItem viewOptions() const
virtual QRegion visualRegionForSelection(const QItemSelection &selection) const = 0

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

виртуальный void dragEnterEvent(QDragEnterEvent *event)
виртуальный void dragLeaveEvent(QDragLeaveEvent *event)
виртуальный void dragMoveEvent(QDragMoveEvent *event)
виртуальный void dropEvent(QDropEvent *event)
виртуальный bool event(QEvent *event)
виртуальный void focusInEvent(QFocusEvent *event)
виртуальный bool focusNextPrevChild(bool next)
виртуальный void focusOutEvent(QFocusEvent *event)
виртуальный void inputMethodEvent(QInputMethodEvent *event)
виртуальный void keyPressEvent(QKeyEvent *event)
виртуальный void mouseDoubleClickEvent(QMouseEvent *event)
виртуальный void mouseMoveEvent(QMouseEvent *event)
виртуальный void mousePressEvent(QMouseEvent *event)
виртуальный void mouseReleaseEvent(QMouseEvent *event)
виртуальный void resizeEvent(QResizeEvent *event)
виртуальный void timerEvent(QTimerEvent *event)
виртуальный bool viewportEvent(QEvent *event)
виртуальный QSize viewportSizeHint() const
  • 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

Дополнительные унаследованные члены

  • 5 статических публичных членов, унаследованных от QWidget
  • 11 статических публичных членов, унаследованных от QObject

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

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

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

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

Обратите внимание, что в таблице предполагается, что режим выделения selection mode допускает операции. Например, вы не можете выделить элементы, если режим выделения — 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.

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

DragDropMode dragDropMode() const
void setDragDropMode(DragDropMode behavior)

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

dragDropOverwriteMode : bool

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

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

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

Примечание: Это не предназначено для предотвращения перезаписи элементов. Реализация модели 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, объединенных с использованием оператора ИЛИ. Представление будет инициировать редактирование элемента только в том случае, если выполненное действие установлено в этом свойстве.

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

EditTriggers editTriggers() const
void setEditTriggers(EditTriggers triggers)

horizontalScrollMode : ScrollMode

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

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

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

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

ScrollMode horizontalScrollMode() const
void setHorizontalScrollMode(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.

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

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

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

QAbstractItemView::QAbstractItemView(QWidget *parent = Q_NULLPTR)

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

QAbstractItemView::~QAbstractItemView()

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

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

Этот сигнал излучается, когда пользователь активирует элемент, заданный индексом index. Способ активации элементов зависит от платформы; например, щелчком левой кнопкой мыши, двойным щелчком, или нажатием клавиши Ввод или 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().

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[protected] void QAbstractItemView::executeDelayedItemsLayout()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Переопределено из QWidget::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().

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

void QAbstractItemView::openPersistentEditor(const QModelIndex &index)

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

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

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

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

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

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

[virtual slot] void QAbstractItemView::reset()

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

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

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

Переопределено из QWidget::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, 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 = Q_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, передавая права владения виджету в представление.

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

Свойство autoFillBackground заданного widget должно быть установлено в значение true, иначе фон виджета будет прозрачным, показывая как данные модели, так и элемент по указанному 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)

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

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

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

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

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

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

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

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

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

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

Применяет выделение flags к элементам в прямоугольнике rect или затронутым им.

При реализации собственного виджета itemview функция 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(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] State QAbstractItemView::state() const

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Если ваш элемент отображается в нескольких областях, 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.9/qabstractitemview.html

Spec-Zone.ru

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