Класс QAbstractItemView
Класс QAbstractItemView предоставляет базовые возможности для классов представления элементов. Подробнее...
| Заголовок: | #include <QAbstractItemView> |
| qmake: | QT += widgets |
| Наследуется от: | QAbstractScrollArea |
| Наследует: |
Типы
| Перечисление | 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 } |
Свойства
|
|
- 3 свойства унаследованы от QAbstractScrollArea
- 6 свойств унаследованы от QFrame
- 58 свойств унаследованы от QWidget
- 1 свойство унаследовано от QObject
Общедоступные функции
| QAbstractItemView(QWidget *parent = Q_NULLPTR) | |
| ~QAbstractItemView() | |
| bool | alternatingRowColors() const |
| int | autoScrollMargin() const |
| void | closePersistentEditor(const QModelIndex &index) |
| QModelIndex | currentIndex() const |
| Qt::DropAction | defaultDropAction() const |
| DragDropMode | dragDropMode() const |
| bool | dragDropOverwriteMode() const |
| bool | dragEnabled() const |
| EditTriggers | editTriggers() const |
| bool | hasAutoScroll() const |
| ScrollMode | horizontalScrollMode() const |
| QSize | iconSize() const |
| virtual QModelIndex | indexAt(const QPoint &point) const = 0 |
| QWidget * | indexWidget(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) |
| QModelIndex | rootIndex() const |
| virtual void | scrollTo(const QModelIndex &index, 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(DragDropMode behavior) |
| void | setDragDropOverwriteMode(bool overwrite) |
| void | setDragEnabled(bool enable) |
| void | setDropIndicatorShown(bool enable) |
| void | setEditTriggers(EditTriggers triggers) |
| void | setHorizontalScrollMode(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(ScrollMode mode) |
| bool | showDropIndicator() const |
| virtual int | sizeHintForColumn(int column) const |
| QSize | sizeHintForIndex(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
- 211 общедоступных функций, унаследованных от QWidget
- 31 общедоступных функций, унаследованных от QObject
- 14 общедоступных функций, унаследованных от QPaintDevice
Публичные слоты
| void | clearSelection() |
| void | edit(const QModelIndex &index) |
| virtual void | reset() |
| void | прокрутитьВниз() |
| void | прокрутитьВверх() |
| virtual void | выделитьВсе() |
| void | установитьТекущийИндекс(const QModelIndex &index) |
| virtual void | установитьКорневойИндекс(const QModelIndex &index) |
| void | обновить(const QModelIndex &index) |
Сигналы
| 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() |
Защищённые типы
| enum | CursorAction { MoveUp, MoveDown, MoveLeft, MoveRight, ..., MovePrevious } |
| enum | DropIndicatorPosition { OnItem, AboveItem, BelowItem, OnViewport } |
| enum | 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 ®ion) |
| 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 ¤t, 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
| Константа | Значение | Описание |
|---|---|---|
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, объединенных с помощью оператора OR. Представление запустит редактирование элемента только в том случае, если выполненное действие указано в этом свойстве.
Функции доступа:
| EditTriggers | editTriggers() const |
| void | setEditTriggers(EditTriggers triggers) |
horizontalScrollMode : ScrollMode
режим прокрутки представления по горизонтали
Это свойство управляет тем, как представление прокручивает содержимое по горизонтали. Прокрутка может выполняться по пикселям или по элементам.
Это свойство было добавлено в Qt 4.2.
Функции доступа:
| ScrollMode | horizontalScrollMode() const |
| void | setHorizontalScrollMode(ScrollMode mode) |
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
способ прокрутки содержимого представления по вертикали
Это свойство управляет способом прокрутки содержимого представления по вертикали. Прокрутка может выполняться по пикселям или по элементам.
Это свойство было введено в Qt 4.2.
Функции доступа:
| ScrollMode | verticalScrollMode() const |
| void | setVerticalScrollMode(ScrollMode mode) |
Документация по функциям-членам
QAbstractItemView::QAbstractItemView(QWidget *parent = Q_NULLPTR)
Создаёт представление абстрактных элементов с заданным parent.
QAbstractItemView::~QAbstractItemView()
Уничтожает представление.
[signal] void QAbstractItemView::activated(const QModelIndex &index)
Этот сигнал генерируется, когда пользователь активирует элемент, заданный с помощью index. Способ активации элементов зависит от платформы; например, это может быть одиночное или двойное нажатие мыши на элемент, или нажатие клавиши Возврат или Ввод, когда элемент является текущим.
См. также 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 ¤t, 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().
END_OF_DOCUMENT_MARKER
[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 ®ion)
Помечает заданную область 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)
Устанавливает 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 должен возвращать основную область, содержащую индекс, а не всю область, которую индекс может охватывать, касаться или вызывать отрисовку.
В базовом классе это чистая виртуальная функция.
См. также 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/archives/qt-5.6/qabstractitemview.html