Класс QTableView
Класс QTableView предоставляет стандартную реализацию представления таблицы модель/вид. Подробнее...
| Заголовок: | #include <QTableView> |
| qmake: | QT += widgets |
| Наследуется от: | QAbstractItemView |
| Наследует: |
Свойства
|
|
- 16 свойств унаследовано от QAbstractItemView
- 3 свойства унаследовано от QAbstractScrollArea
- 6 свойств унаследовано от QFrame
- 59 свойств унаследовано от QWidget
- 1 свойство унаследовано от QObject
Открытые функции
| QTableView(QWidget *parent = Q_NULLPTR) | |
| ~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 |
| virtual void | setModel(QAbstractItemModel *model) |
| virtual void | setRootIndex(const QModelIndex &index) |
| virtual void | setSelectionModel(QItemSelectionModel *selectionModel) |
- 59 открытых функций унаследовано от QAbstractItemView
- 20 открытых функций унаследовано от QAbstractScrollArea
- 14 открытых функций унаследовано от QFrame
- 214 открытых функций унаследовано от QWidget
- 32 открытых функции унаследовано от 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 slots унаследованные от QAbstractItemView
- 19 public slots унаследованные от QWidget
- 1 public slot унаследованный от QObject
Реализованные защищённые функции
| virtual void | currentChanged(const QModelIndex ¤t, const QModelIndex &previous) |
| virtual int | horizontalOffset() const |
| virtual bool | isIndexHidden(const QModelIndex &index) const |
| virtual QModelIndex | moveCursor(CursorAction cursorAction, Qt::KeyboardModifiers modifiers) |
| virtual void | paintEvent(QPaintEvent *event) |
| virtual QModelIndexList | selectedIndexes() const |
| virtual void | selectionChanged(const QItemSelection &selected, const QItemSelection &deselected) |
| virtual void | setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags flags) |
| virtual int | sizeHintForColumn(int column) const |
| virtual int | sizeHintForRow(int row) const |
| virtual void | timerEvent(QTimerEvent *event) |
| virtual void | updateGeometries() |
| virtual int | verticalOffset() const |
| virtual QStyleOptionViewItem | viewOptions() const |
| virtual QSize | viewportSizeHint() const |
- 37 защищённые функции унаследованные от 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
- 5 статических public членов унаследованных от QWidget
- 11 статических public членов унаследованных от QObject
- 37 защищённых функций унаследованных от 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 = Q_NULLPTR)
Создаёт представление таблицы с указанием parent для представления данных.
См. также QAbstractItemModel.
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().
[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().
[virtual protected] int QTableView::horizontalOffset() const
Переопределено из QAbstractItemView::horizontalOffset().
Возвращает горизонтальное смещение элементов в представлении таблицы.
Обратите внимание, что представление таблицы использует позиции разделов горизонтального заголовка для определения позиций столбцов в представлении.
См. также verticalOffset().
[virtual] QModelIndex QTableView::indexAt(const QPoint &pos) const
Переопределено из QAbstractItemView::indexAt().
Возвращает индекс позиции элемента модели, соответствующего элементу таблицы в координатах содержимого по позиции pos.
bool QTableView::isColumnHidden(int column) const
Возвращает true , если заданный столбец скрыт; в противном случае возвращает false.
См. также isRowHidden().
[virtual protected] bool QTableView::isIndexHidden(const QModelIndex &index) const
Переопределено из QAbstractItemView::isIndexHidden().
bool QTableView::isRowHidden(int row) const
Возвращает true если заданная строка скрыта; в противном случае возвращает false.
См. также isColumnHidden().
[virtual protected] QModelIndex QTableView::moveCursor(CursorAction cursorAction, Qt::KeyboardModifiers modifiers)
Переопределено из QAbstractItemView::moveCursor().
Перемещает курсор в соответствии с заданным cursorAction, используя информацию, предоставленную modifiers.
См. также QAbstractItemView::CursorAction.
[virtual protected] void QTableView::paintEvent(QPaintEvent *event)
Переопределено из QWidget::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 в координатах содержимого.
Примечание: Эта функция возвращает -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().
[virtual protected] QModelIndexList QTableView::selectedIndexes() const
Переопределено из QAbstractItemView::selectedIndexes().
[virtual protected] void QTableView::selectionChanged(const QItemSelection &selected, const QItemSelection &deselected)
Переопределено из QAbstractItemView::selectionChanged().
void QTableView::setColumnHidden(int column, bool hide)
Если hide равно true, заданный столбец будет скрыт; в противном случае он будет показан.
См. также isColumnHidden() и setRowHidden().
void QTableView::setColumnWidth(int column, int width)
Устанавливает ширину заданного столбца в width.
Эта функция была добавлена в Qt 4.1.
См. также columnWidth().
void QTableView::setHorizontalHeader(QHeaderView *header)
Устанавливает виджет, используемый для горизонтальной заголовка, в header.
См. также horizontalHeader() и setVerticalHeader().
[virtual] void QTableView::setModel(QAbstractItemModel *model)
Переопределено из QAbstractItemView::setModel().
[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().
[virtual protected] void QTableView::setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags flags)
Переопределено из QAbstractItemView::setSelection().
Выделяет элементы внутри заданного прямоугольника rect в соответствии с заданными флагами выбора flags.
[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().
[virtual protected] int QTableView::sizeHintForColumn(int column) const
Переопределено из QAbstractItemView::sizeHintForColumn().
Возвращает размерный намек для ширины заданного столбца column или -1, если нет модели.
Если вам нужно установить ширину заданного столбца в фиксированное значение, вызовите QHeaderView::resizeSection() для горизонтального заголовка таблицы.
Если вы переопределяете эту функцию в подклассе, обратите внимание, что возвращаемое значение будет использовано при вызове resizeColumnToContents() или QHeaderView::resizeSections(). Если большая ширина столбца требуется либо горизонтальным заголовком, либо делегатом элемента, будет использоваться большая ширина.
См. также QWidget::sizeHint, horizontalHeader() и QHeaderView::resizeContentsPrecision().
[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.
[virtual protected] void QTableView::timerEvent(QTimerEvent *event)
Переопределено из QObject::timerEvent().
[virtual protected] void QTableView::updateGeometries()
Переопределено из QAbstractItemView::updateGeometries().
QHeaderView *QTableView::verticalHeader() const
Возвращает вертикальный заголовок табличного представления.
См. также setVerticalHeader(), horizontalHeader() и QAbstractItemModel::headerData().
[virtual protected] int QTableView::verticalOffset() const
Переопределено из QAbstractItemView::verticalOffset().
Возвращает вертикальное смещение элементов в табличном представлении.
Обратите внимание, что табличное представление использует позиции секций вертикального заголовка для определения позиций строк в представлении.
См. также horizontalOffset().
[virtual protected] QStyleOptionViewItem QTableView::viewOptions() const
Переопределено из QAbstractItemView::viewOptions().
[virtual protected] QSize QTableView::viewportSizeHint() const
Переопределено из QAbstractScrollArea::viewportSizeHint().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qtableview.html