Spec-Zone.ru › Qt 5.6

Класс 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
  • 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)
  • 19 public slots унаследованных от QWidget
  • 1 public slot унаследованного от 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 signals унаследованных от QWidget
  • 2 signals унаследованных от QObject

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

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 &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

Константа Значение Описание
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 &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().

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 &region)

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

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

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

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

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

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

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

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

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

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

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

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

void QAbstractItemView::setItemDelegate(QAbstractItemDelegate *delegate)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Устанавливает 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

Spec-Zone.ru

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