Класс QTableView
Класс QTableView предоставляет реализацию представления таблицы по умолчанию с моделью/представлением. Подробнее...
| Заголовок: | #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
- 34 открытых функций унаследовано от 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 слоты-члены public, унаследованные от QAbstractItemView
- 19 слоты-члены public, унаследованные от QWidget
- 1 слот-член public, унаследованный от 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
- 1 переменная public, унаследованная от QObject
- 5 статических public членов, унаследованных от QWidget
- 10 статических public членов, унаследованных от QObject
- 38 защищённых функций, унаследованных от QAbstractItemView
- 20 защищённых функций, унаследованных от QAbstractScrollArea
- 4 защищённых функций, унаследованных от QFrame
- 35 защищённых функций, унаследованных от QWidget
- 9 защищённых функций, унаследованных от QObject
- 1 защищённая функция, унаследованная от QPaintDevice
- 2 защищённые переменные, унаследованные от QObject
- 1 защищённый тип, унаследованный от QPaintDevice
Подробное описание
Класс QTableView предоставляет реализацию представления таблицы по умолчанию с использованием модели.
Класс QTableView реализует представление таблицы, отображающее элементы из модели. Этот класс используется для предоставления стандартных таблиц, которые ранее предоставлялись классом QTable, но с использованием более гибкого подхода, предоставляемого архитектурой модели/представления Qt.
Класс QTableView является одним из классов модели/представления и входит в состав фреймворка модели/представления Qt.
QTableView реализует интерфейсы, определённые классом QAbstractItemView, что позволяет ему отображать данные, предоставляемые моделями, производными от класса QAbstractItemModel.
Навигация
Вы можете перемещаться по ячейкам таблицы, нажав на ячейку мышью или клавишами со стрелками. Поскольку QTableView по умолчанию включает перемещение по табуляции, вы также можете использовать 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)
Конструирует представление таблицы с родительским элементом parent для представления данных.
См. также QAbstractItemModel.
[virtual] QTableView::~QTableView()
Удаляет представление таблицы.
void QTableView::clearSpans()
Удаляет все интервалы строк и столбцов в представлении таблицы.
Эта функция была добавлена в Qt 4.4.
См. также setSpan().
int QTableView::columnAt(int x) const
Возвращает столбец, в котором расположена заданная координата x, 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)
Скрыть указанный столбец.
См. также showColumn() и hideRow().
[slot] void QTableView::hideRow(int 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, если указанный столбец скрыт; в противном случае возвращает false.
См. также isRowHidden().
[override virtual protected] bool QTableView::isIndexHidden(const QModelIndex &index) const
Переопределено из QAbstractItemView::isIndexHidden().
bool QTableView::isRowHidden(int row) const
Возвращает true, если указанная строка скрыта; в противном случае возвращает 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)
Изменяет размер заданного столбца на основе параметров размера делегата, используемого для отображения каждого элемента в столбце.
Примечание: Будут изменены только видимые столбцы. Переопределите sizeHintForColumn(), чтобы изменить размер скрытых столбцов.
См. также resizeColumnsToContents(), sizeHintForColumn() и QHeaderView::resizeContentsPrecision().
[slot] void QTableView::resizeColumnsToContents()
Изменяет размер всех столбцов на основе параметров размера делегата, используемого для отображения каждого элемента в столбцах.
См. также resizeColumnToContents(), sizeHintForColumn() и QHeaderView::resizeContentsPrecision().
[slot] void QTableView::resizeRowToContents(int 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
Возвращает высоту заданной строки.
См. также setRowHeight(), resizeRowToContents() и columnWidth().
[protected slot] void QTableView::rowMoved(int row, int oldIndex, int newIndex)
Этот слот вызывается для изменения индекса заданной строки в представлении таблицы. Старый индекс задан oldIndex, а новый индекс newIndex.
См. также columnMoved().
[protected slot] void QTableView::rowResized(int row, int oldHeight, int newHeight)
Этот слот вызывается для изменения высоты заданной строки. Прежняя высота задана 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 в координатах содержимого заданной строки.
[slot] void QTableView::selectColumn(int column)
Выделяет заданный столбец в представлении таблицы, если текущий SelectionMode и SelectionBehavior позволяют выделять столбцы.
См. также selectRow().
[slot] void QTableView::selectRow(int 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, заданный столбец будет скрыт; в противном случае он будет показан.
См. также isColumnHidden() и setRowHidden().
END_OF_DOCUMENT_MARKERvoid 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/archives/qt-5.11/qtableview.html