Класс QTableView
Класс QTableView предоставляет стандартную реализацию представления таблицы (model/view). Подробнее...
| Заголовок: | #include <QTableView> |
| qmake: | QT += widgets |
| Наследуется от: | QAbstractItemView |
| Наследует: |
Свойства
|
|
- 16 свойств унаследовано от QAbstractItemView
- 3 свойства унаследовано от QAbstractScrollArea
- 6 свойств унаследовано от QFrame
- 59 свойств унаследовано от QWidget
- 1 свойство унаследовано от QObject
Открытые функции
| QTableView(QWidget *parent = nullptr) | |
| virtual | ~QTableView() |
| void | clearSpans() |
| int | columnAt(int x) const |
| int | columnSpan(int row, int column) const |
| int | columnViewportPosition(int column) const |
| int | columnWidth(int column) const |
| Qt::PenStyle | gridStyle() const |
| QHeaderView * | horizontalHeader() const |
| bool | isColumnHidden(int column) const |
| bool | isCornerButtonEnabled() const |
| bool | isRowHidden(int row) const |
| bool | isSortingEnabled() const |
| int | rowAt(int y) const |
| int | rowHeight(int row) const |
| int | rowSpan(int row, int column) const |
| int | rowViewportPosition(int row) const |
| void | setColumnHidden(int column, bool hide) |
| void | setColumnWidth(int column, int width) |
| void | setCornerButtonEnabled(bool enable) |
| void | setGridStyle(Qt::PenStyle style) |
| void | setHorizontalHeader(QHeaderView *header) |
| void | setRowHeight(int row, int height) |
| void | setRowHidden(int row, bool hide) |
| void | setSortingEnabled(bool enable) |
| void | setSpan(int row, int column, int rowSpanCount, int columnSpanCount) |
| void | setVerticalHeader(QHeaderView *header) |
| void | setWordWrap(bool on) |
| bool | showGrid() const |
| void | sortByColumn(int column, Qt::SortOrder order) |
| QHeaderView * | verticalHeader() const |
| bool | wordWrap() const |
Переопределенные открытые функции
| virtual QModelIndex | indexAt(const QPoint &pos) const override |
| virtual void | setModel(QAbstractItemModel *model) override |
| virtual void | setRootIndex(const QModelIndex &index) override |
| virtual void | setSelectionModel(QItemSelectionModel *selectionModel) override |
- 60 открытых функций унаследовано от QAbstractItemView
- 20 открытых функций унаследовано от QAbstractScrollArea
- 14 открытых функций унаследовано от QFrame
- 214 открытых функций унаследовано от QWidget
- 31 открытых функций унаследовано от QObject
- 14 открытых функций унаследовано от QPaintDevice
Открытые слоты
| void | hideColumn(int column) |
| void | hideRow(int row) |
| void | resizeColumnToContents(int column) |
| void | resizeColumnsToContents() |
| void | resizeRowToContents(int row) |
| void | resizeRowsToContents() |
| void | selectColumn(int column) |
| void | selectRow(int row) |
| void | setShowGrid(bool show) |
| void | showColumn(int column) |
| void | showRow(int row) |
- 9 слоты, унаследованные от QAbstractItemView
- 19 слотов, унаследованных от QWidget
- 1 слот, унаследованный от QObject
Статические публичные члены
| const QMetaObject | staticMetaObject |
- 5 статических публичных членов, унаследованных от QWidget
- 9 статических публичных членов, унаследованных от QObject
Переопределённые защищённые функции
| virtual void | currentChanged(const QModelIndex ¤t, const QModelIndex &previous) override |
| virtual int | horizontalOffset() const override |
| virtual bool | isIndexHidden(const QModelIndex &index) const override |
| virtual QModelIndex | moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers) override |
| virtual void | paintEvent(QPaintEvent *event) override |
| virtual QModelIndexList | selectedIndexes() const override |
| virtual void | selectionChanged(const QItemSelection &selected, const QItemSelection &deselected) override |
| virtual void | setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags flags) override |
| virtual int | sizeHintForColumn(int column) const override |
| virtual int | sizeHintForRow(int row) const override |
| virtual void | timerEvent(QTimerEvent *event) override |
| virtual void | updateGeometries() override |
| virtual int | verticalOffset() const override |
| virtual QStyleOptionViewItem | viewOptions() const override |
| virtual QSize | viewportSizeHint() const override |
- 38 защищённых функций, унаследованных от QAbstractItemView
- 20 защищённых функций, унаследованных от QAbstractScrollArea
- 4 защищённых функций, унаследованных от QFrame
- 35 защищённых функций, унаследованных от QWidget
- 9 защищённых функций, унаследованных от QObject
- 1 защищённая функция, унаследованная от QPaintDevice
Защищённые слоты
| void | columnCountChanged(int oldCount, int newCount) |
| void | columnMoved(int column, int oldIndex, int newIndex) |
| void | columnResized(int column, int oldWidth, int newWidth) |
| void | rowCountChanged(int oldCount, int newCount) |
| void | rowMoved(int row, int oldIndex, int newIndex) |
| void | rowResized(int row, int oldHeight, int newHeight) |
- 9 защищённых слотов, унаследованных от QAbstractItemView
- 1 защищённый слот, унаследованный от QWidget
Дополнительные унаследованные члены
- 7 сигналов, унаследованных от QAbstractItemView
- 3 сигнала, унаследованные от QWidget
- 2 сигнала, унаследованные от QObject
- 38 защищённых функций, унаследованных от QAbstractItemView
- 20 защищённых функций, унаследованных от QAbstractScrollArea
- 4 защищённых функций, унаследованных от QFrame
- 35 защищённых функций, унаследованных от QWidget
- 9 защищённых функций, унаследованных от QObject
- 1 защищённая функция, унаследованная от QPaintDevice
Подробное описание
Класс QTableView предоставляет стандартную реализацию представления таблицы на основе модели.
Класс QTableView реализует представление таблицы, отображающее элементы из модели. Этот класс используется для предоставления стандартных таблиц, которые ранее предоставлялись классом QTable, но с использованием более гибкого подхода, предлагаемого архитектурой Qt модель/представление.
Класс QTableView является одним из Классов модели/представления и входит в состав фреймворка Qt модель/представление.
QTableView реализует интерфейсы, определённые классом QAbstractItemView, чтобы позволить отображать данные, предоставляемые моделями, производными от класса QAbstractItemModel.
Навигация
Вы можете перемещаться по ячейкам таблицы, нажав на ячейку мышкой или с помощью клавиш со стрелками. Поскольку QTableView по умолчанию включает направление навигации по клавише Tab, вы также можете нажимать клавиши Tab и Backtab, чтобы переходить от ячейки к ячейке.
Внешний вид
Таблица имеет вертикальную заголовки, которую можно получить, используя функцию verticalHeader(), и горизонтальную заголовок, доступную через функцию horizontalHeader(). Высота каждой строки в таблице может быть получена с помощью функции rowHeight; аналогично, ширина столбцов может быть получена с помощью функции columnWidth(). Поскольку оба эти элемента являются обычными виджетами, вы можете скрыть любой из них, используя их функции hide().
Строки и столбцы можно скрывать и показывать с помощью hideRow(), hideColumn(), showRow() и showColumn(). Их можно выбрать с помощью selectRow() и selectColumn(). Таблица будет показывать сетку в зависимости от свойства showGrid.
Элементы, отображаемые в представлении таблицы, как и в других представлениях элементов, рендерятся и редактируются с использованием стандартных делегатов. Однако для некоторых задач иногда полезно иметь возможность вставлять виджеты в таблицу вместо этого. Виджеты устанавливаются для определенных индексов с помощью функции setIndexWidget(), а затем извлекаются с помощью indexWidget().
| По умолчанию ячейки в таблице не расширяются для заполнения доступного пространства. Вы можете сделать так, чтобы ячейки заполняли доступное пространство, растянув последний раздел заголовка. Обратитесь к соответствующему заголовку, используя horizontalHeader() или verticalHeader(), и установите свойство заголовка stretchLastSection. Чтобы распределить доступное пространство в соответствии с потребностями каждого столбца или строки, вызовите функции представления resizeColumnsToContents() или resizeRowsToContents(). |
Системы координат
Для некоторых специализированных типов таблиц полезно иметь возможность преобразовывать индексы строк и столбцов в координаты виджетов. Функция rowAt() возвращает координату y в представлении заданной строки; индекс строки может быть использован для получения соответствующей координаты y с помощью rowViewportPosition(). Функции columnAt() и columnViewportPosition() предоставляют эквивалентные операции преобразования между координатами x и индексами столбцов.
См. также QTableWidget, Классы представлений, QAbstractItemModel, QAbstractItemView, Пример диаграммы, Пример Pixelator и Пример табличной модели.
Документация свойств
cornerButtonEnabled : bool
Это свойство определяет, включена ли кнопка в левом верхнем углу.
Если это свойство true, то кнопка в левом верхнем углу представления таблицы включена. Нажатие на эту кнопку выберет все ячейки в представлении таблицы.
Это свойство true по умолчанию.
Это свойство было введено в Qt 4.3.
Функции доступа:
| bool | isCornerButtonEnabled() const |
| void | setCornerButtonEnabled(bool enable) |
gridStyle : Qt::PenStyle
Это свойство содержит стиль пера, используемый для рисования сетки.
Это свойство содержит стиль, используемый при рисовании сетки (см. showGrid).
Функции доступа:
| Qt::PenStyle | gridStyle() const |
| void | setGridStyle(Qt::PenStyle style) |
showGrid : bool
Это свойство определяет, отображается ли сетка.
Если это свойство true, для таблицы рисуется сетка; если свойство false, сетка не рисуется. Значение по умолчанию — true.
Функции доступа:
| bool | showGrid() const |
| void | setShowGrid(bool show) |
sortingEnabled : bool
Это свойство определяет, включена ли сортировка.
Если это свойство true, сортировка включена для таблицы. Если это свойство false, сортировка отключена. Значение по умолчанию — false.
Примечание: Установка свойства в true с помощью setSortingEnabled() немедленно вызывает вызов sortByColumn() с текущим разделом сортировки и порядком.
Это свойство было введено в Qt 4.2.
Функции доступа:
| bool | isSortingEnabled() const |
| void | setSortingEnabled(bool enable) |
См. также sortByColumn().
wordWrap : bool
Это свойство содержит политику перевода текста элемента.
Если это свойство true, текст элемента переносится по необходимости на границах слов; в противном случае он вообще не переносится. Это свойство true по умолчанию.
Обратите внимание, что даже если перенос по словам включен, ячейка не будет расширена для размещения всего текста. Эллипсис будет вставлен в соответствии с текущим textElideMode.
Это свойство было введено в Qt 4.3.
Функции доступа:
| bool | wordWrap() const |
| void | setWordWrap(bool on) |
Документация по членам-функциям
QTableView::QTableView(QWidget *parent = nullptr)
Создаёт представление таблицы с родительским элементом для представления данных.
См. также QAbstractItemModel.
[virtual] QTableView::~QTableView()
Уничтожает представление таблицы.
void QTableView::clearSpans()
Удаляет все интервалы строк и столбцов в представлении таблицы.
Эта функция была введена в Qt 4.4.
См. также setSpan().
int QTableView::columnAt(int x) const
Возвращает столбец, в котором находится заданная координата x, в координатах содержимого.
Примечание: Эта функция возвращает -1, если заданная координата не является допустимой (нет соответствующего столбца).
См. также rowAt().
[protected slot] void QTableView::columnCountChanged(int oldCount, int newCount)
Этот слот вызывается всякий раз, когда добавляются или удаляются столбцы. Предыдущее количество столбцов задаётся параметром oldCount, а новое количество — параметром newCount.
[protected slot] void QTableView::columnMoved(int column, int oldIndex, int newIndex)
Этот слот вызывается для изменения индекса данного столбца column в представлении таблицы. Предыдущий индекс задаётся параметром oldIndex, а новый — параметром newIndex.
См. также rowMoved().
[protected slot] void QTableView::columnResized(int column, int oldWidth, int newWidth)
Этот слот вызывается для изменения ширины данного столбца column. Предыдущая ширина задаётся параметром oldWidth, а новая — параметром newWidth.
См. также rowResized().
int QTableView::columnSpan(int row, int column) const
Возвращает интервал столбцов элемента таблицы в позиции (row, column). По умолчанию — 1.
Эта функция была введена в Qt 4.2.
См. также setSpan() и rowSpan().
int QTableView::columnViewportPosition(int column) const
Возвращает координату x в координатах содержимого для данного столбца column.
int QTableView::columnWidth(int column) const
Возвращает ширину данного столбца column.
См. также setColumnWidth(), resizeColumnToContents() и rowHeight().
[override virtual protected] void QTableView::currentChanged(const QModelIndex ¤t, const QModelIndex &previous)
Переопределено из QAbstractItemView::currentChanged().
[slot] void QTableView::hideColumn(int column)
Скрыть указанный столбец column.
См. также showColumn() и hideRow().
[slot] void QTableView::hideRow(int row)
Скрыть указанную строку row.
См. также showRow() и hideColumn().
QHeaderView *QTableView::horizontalHeader() const
Возвращает горизонтальную заголовок таблицы.
См. также setHorizontalHeader(), verticalHeader() и QAbstractItemModel::headerData().
[override virtual protected] int QTableView::horizontalOffset() const
Переопределено из QAbstractItemView::horizontalOffset().
Возвращает горизонтальное смещение элементов в представлении таблицы.
Обратите внимание, что представление таблицы использует позиции разделов горизонтального заголовка для определения позиций столбцов в представлении.
См. также verticalOffset().
[override virtual] QModelIndex QTableView::indexAt(const QPoint &pos) const
Переопределено из QAbstractItemView::indexAt().
Возвращает индекс элемента модели, соответствующего элементу таблицы в координатах содержимого в позиции pos.
bool QTableView::isColumnHidden(int column) const
Возвращает true если указанный столбец column скрыт; в противном случае возвращает false.
См. также isRowHidden().
[override virtual protected] bool QTableView::isIndexHidden(const QModelIndex &index) const
Переопределено из QAbstractItemView::isIndexHidden().
bool QTableView::isRowHidden(int row) const
Возвращает true если указанная строка row скрыта; в противном случае возвращает false.
См. также isColumnHidden().
[override virtual protected] QModelIndex QTableView::moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers)
Переопределено из QAbstractItemView::moveCursor().
Перемещает курсор в соответствии с заданным cursorAction, используя информацию, предоставленную modifiers.
См. также QAbstractItemView::CursorAction.
[override virtual protected] void QTableView::paintEvent(QPaintEvent *event)
Переопределено из QAbstractScrollArea::paintEvent().
Отрисовывает таблицу при получении данного события отрисовки event.
[slot] void QTableView::resizeColumnToContents(int column)
Изменяет размер указанного столбца column на основе размеров подсказок делегата, используемого для отрисовки каждого элемента в столбце.
Примечание: Будут изменены только видимые столбцы. Переопределите sizeHintForColumn(), чтобы изменить размер скрытых столбцов.
См. также resizeColumnsToContents(), sizeHintForColumn() и QHeaderView::resizeContentsPrecision().
[slot] void QTableView::resizeColumnsToContents()
Изменяет размер всех столбцов на основе размеров подсказок делегата, используемого для отрисовки каждого элемента в столбцах.
См. также resizeColumnToContents(), sizeHintForColumn() и QHeaderView::resizeContentsPrecision().
[slot] void QTableView::resizeRowToContents(int row)
Изменяет размер указанной строки row на основе размеров подсказок делегата, используемого для отрисовки каждого элемента в строке.
См. также resizeRowsToContents(), sizeHintForRow() и QHeaderView::resizeContentsPrecision().
[slot] void QTableView::resizeRowsToContents()
Изменяет размер всех строк на основе размеров подсказок делегата, используемого для отрисовки каждого элемента в строках.
См. также resizeRowToContents(), sizeHintForRow() и QHeaderView::resizeContentsPrecision().
int QTableView::rowAt(int y) const
Возвращает строку, в которой находится заданная координата y, y, в координатах содержимого.
Примечание: Эта функция возвращает -1, если заданная координата недействительна (не имеет строки).
См. также columnAt().
[protected slot] void QTableView::rowCountChanged(int oldCount, int newCount)
Этот слот вызывается всякий раз, когда добавляются или удаляются строки. Предыдущее количество строк задается oldCount, а новое количество строк задается newCount.
int QTableView::rowHeight(int row) const
Возвращает высоту заданной строки row.
См. также setRowHeight(), resizeRowToContents() и columnWidth().
[protected slot] void QTableView::rowMoved(int row, int oldIndex, int newIndex)
Этот слот вызывается для изменения индекса заданной строки row в представлении таблицы. Старый индекс задается oldIndex, а новый индекс — newIndex.
См. также columnMoved().
[protected slot] void QTableView::rowResized(int row, int oldHeight, int newHeight)
Этот слот вызывается для изменения высоты заданной строки row. Предыдущая высота задается oldHeight, а новая высота — newHeight.
См. также columnResized().
int QTableView::rowSpan(int row, int column) const
Возвращает интервал строк элемента таблицы в позиции (row, column). По умолчанию 1.
Эта функция была добавлена в Qt 4.2.
См. также setSpan() и columnSpan().
int QTableView::rowViewportPosition(int row) const
Возвращает координату y в координатах содержимого заданной строки row.
[slot] void QTableView::selectColumn(int column)
Выделяет заданный столбец column в представлении таблицы, если текущий SelectionMode и SelectionBehavior разрешают выделение столбцов.
См. также selectRow().
[slot] void QTableView::selectRow(int row)
Выделяет заданную строку row в представлении таблицы, если текущий SelectionMode и SelectionBehavior разрешают выделение строк.
См. также selectColumn().
[override virtual protected] QModelIndexList QTableView::selectedIndexes() const
Переопределено из QAbstractItemView::selectedIndexes().
[override virtual protected] void QTableView::selectionChanged(const QItemSelection &selected, const QItemSelection &deselected)
Переопределено из QAbstractItemView::selectionChanged().
void QTableView::setColumnHidden(int column, bool hide)
Если hide имеет значение true, указанный столбец column будет скрыт; в противном случае он будет показан.
См. также isColumnHidden() и setRowHidden().
void QTableView::setColumnWidth(int column, int width)
Устанавливает ширину заданного столбца column в width.
Эта функция была добавлена в Qt 4.1.
См. также columnWidth().
void QTableView::setHorizontalHeader(QHeaderView *header)
Устанавливает виджет для горизонтальной заголовка header.
См. также horizontalHeader() и setVerticalHeader().
[override virtual] void QTableView::setModel(QAbstractItemModel *model)
Переопределено из QAbstractItemView::setModel().
[override virtual] void QTableView::setRootIndex(const QModelIndex &index)
Переопределено из QAbstractItemView::setRootIndex().
void QTableView::setRowHeight(int row, int height)
Устанавливает высоту заданной строки row в height.
Эта функция была добавлена в Qt 4.1.
См. также rowHeight().
void QTableView::setRowHidden(int row, bool hide)
Если hide равно true, строка row будет скрыта, в противном случае — отображена.
См. также isRowHidden() и setColumnHidden().
[override virtual protected] void QTableView::setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags flags)
Переопределено из QAbstractItemView::setSelection().
Выделяет элементы в заданном прямоугольнике rect в соответствии с указанными флагами flags.
[override virtual] void QTableView::setSelectionModel(QItemSelectionModel *selectionModel)
Переопределено из QAbstractItemView::setSelectionModel().
void QTableView::setSortingEnabled(bool enable)
Если enable равно true, включает сортировку таблицы и немедленно вызывает sortByColumn() с текущим разделом и порядком сортировки.
Примечание: Функция-сеттер для свойства sortingEnabled.
См. также isSortingEnabled().
void QTableView::setSpan(int row, int column, int rowSpanCount, int columnSpanCount)
Устанавливает размах элемента таблицы в (row, column) на количество строк и столбцов, указанных в (rowSpanCount, columnSpanCount).
Эта функция была добавлена в Qt 4.2.
См. также rowSpan() и columnSpan().
void QTableView::setVerticalHeader(QHeaderView *header)
Устанавливает виджет для вертикальной заголовка header.
См. также verticalHeader() и setHorizontalHeader().
[slot] void QTableView::showColumn(int column)
Отображает заданный столбец column.
См. также hideColumn() и showRow().
[slot] void QTableView::showRow(int row)
Отображает заданную строку row.
См. также hideRow() и showColumn().
[override virtual protected] int QTableView::sizeHintForColumn(int column) const
Переопределено из QAbstractItemView::sizeHintForColumn().
Возвращает размер подсказки для ширины заданного столбца column или -1, если нет модели.
Если нужно установить ширину столбца в фиксированное значение, вызовите QHeaderView::resizeSection() для горизонтальной заголовка таблицы.
Если вы переопределяете эту функцию в подклассе, обратите внимание, что возвращаемое значение будет использоваться при вызове resizeColumnToContents() или QHeaderView::resizeSections(). Если для горизонтального заголовка или делегата элемента требуется большая ширина столбца, будет использоваться большая ширина.
См. также QWidget::sizeHint, horizontalHeader() и QHeaderView::resizeContentsPrecision().
[override virtual protected] int QTableView::sizeHintForRow(int row) const
Переопределено из QAbstractItemView::sizeHintForRow().
Возвращает размер подсказки для высоты заданной строки row или -1, если нет модели.
Если нужно установить высоту строки в фиксированное значение, вызовите QHeaderView::resizeSection() для вертикального заголовка таблицы.
Если вы переопределяете эту функцию в подклассе, обратите внимание, что возвращаемое значение используется только при вызове resizeRowToContents(). В этом случае, если для вертикального заголовка или делегата элемента требуется большая высота строки, будет использована большая высота.
См. также QWidget::sizeHint, verticalHeader() и QHeaderView::resizeContentsPrecision().
void QTableView::sortByColumn(int column, Qt::SortOrder order)
Сортирует модель по значениям в заданном столбце column в заданном порядке order.
Эта функция была добавлена в Qt 4.2.
См. также sortingEnabled.
[override virtual protected] void QTableView::timerEvent(QTimerEvent *event)
Переопределено из QAbstractItemView::timerEvent().
[override virtual protected] void QTableView::updateGeometries()
Переопределено из QAbstractItemView::updateGeometries().
QHeaderView *QTableView::verticalHeader() const
Возвращает вертикальный заголовок представления таблицы.
См. также setVerticalHeader(), horizontalHeader() и QAbstractItemModel::headerData().
[override virtual protected] int QTableView::verticalOffset() const
Переопределено из QAbstractItemView::verticalOffset().
Возвращает вертикальное смещение элементов в представлении таблицы.
Обратите внимание, что представление таблицы использует положения вертикальных заголовков для определения позиций строк в представлении.
См. также horizontalOffset().
[override virtual protected] QStyleOptionViewItem QTableView::viewOptions() const
Переопределено из QAbstractItemView::viewOptions().
[override virtual protected] QSize QTableView::viewportSizeHint() const
Переопределено из QAbstractItemView::viewportSizeHint().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qtableview.html