Spec-Zone.ru › Qt 5.12

Класс QTableView

Класс QTableView предоставляет стандартную реализацию представления таблицы (model/view). Подробнее...

Заголовок: #include <QTableView>
qmake: QT += widgets
Наследуется от: QAbstractItemView
Наследует:

QTableWidget

  • Список всех членов, включая унаследованные
  • Устаревшие члены

Свойства

  • cornerButtonEnabled : bool
  • gridStyle : Qt::PenStyle
  • showGrid : bool
  • sortingEnabled : bool
  • wordWrap : bool
  • 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 &current, 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 &current, 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

Spec-Zone.ru

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