Spec-Zone.ru › Qt 5.14

Класс QTableView

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

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

QTableWidget

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

Свойства

  • cornerButtonEnabled : bool
  • gridStyle : Qt::PenStyle
  • showGrid : bool
  • sortingEnabled : bool
  • wordWrap : bool

Открытые функции

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

Открытые слоты

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)
void sortByColumn(int column, Qt::SortOrder order)

Переопределённые защищённые функции

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

Защищенные слоты

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)

Подробное описание

Класс 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.

[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().

[slot] void QTableView::hideColumn(int column)

Скрыть указанный column.

См. также showColumn() и hideRow().

[slot] void QTableView::hideRow(int row)

Скрыть указанную row.

См. также showRow() и hideColumn().

[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().

[protected slot] void QTableView::rowCountChanged(int oldCount, int newCount)

Этот слот вызывается всякий раз, когда добавляются или удаляются строки. Предыдущее количество строк задаётся oldCount, а новое — newCount.

[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().

[slot] void QTableView::selectColumn(int column)

Выделяет указанный column в представлении таблицы, если текущий SelectionMode и SelectionBehavior позволяют выделять столбцы.

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

[slot] void QTableView::selectRow(int row)

Выделяет указанную row в представлении таблицы, если текущий SelectionMode и SelectionBehavior позволяют выделять строки.

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

[slot] void QTableView::showColumn(int column)

Показать заданный столбец.

См. также hideColumn() и showRow().

[slot] void QTableView::showRow(int row)

Показать заданную строку.

См. также hideRow() и showColumn().

[slot] void QTableView::sortByColumn(int column, Qt::SortOrder order)

Сортирует модель по значениям в заданном столбце и порядке.

column может быть -1, в этом случае индикатор сортировки не будет отображаться, и модель вернётся к своему естественному, несортированному порядку. Обратите внимание, что не все модели поддерживают это и даже могут аварийно завершиться в этом случае.

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

См. также sortingEnabled.

[virtual] QTableView::~QTableView()

Уничтожает представление таблицы.

void QTableView::clearSpans()

Удаляет все интервалы строк и столбцов в представлении таблицы.

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

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

int QTableView::columnAt(int x) const

Возвращает столбец, в котором находится заданная координата x, x, в координатах содержимого.

Примечание: Эта функция возвращает -1, если заданная координата недействительна (нет столбца).

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

int QTableView::columnSpan(int row, int column) const

Возвращает интервал столбца элемента таблицы в позиции (row, column). По умолчанию он равен 1.

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

См. также setSpan() и rowSpan().

int QTableView::columnViewportPosition(int column) const

Возвращает координату x в координатах содержимого заданного столбца.

int QTableView::columnWidth(int column) const

Возвращает ширину заданного столбца.

См. также setColumnWidth(), resizeColumnToContents() и rowHeight().

[override virtual protected] void QTableView::currentChanged(const QModelIndex &current, const QModelIndex &previous)

Переопределяет: QAbstractItemView::currentChanged(const QModelIndex &current, const QModelIndex &previous).

QHeaderView *QTableView::horizontalHeader() const

Возвращает горизонтальную заголовок представления таблицы.

См. также setHorizontalHeader(), verticalHeader() и QAbstractItemModel::headerData().

[override virtual protected] int QTableView::horizontalOffset() const

Переопределяет: QAbstractItemView::horizontalOffset() const.

Возвращает горизонтальное смещение элементов в представлении таблицы.

Обратите внимание, что представление таблицы использует позиции секций горизонтального заголовка для определения позиций столбцов в представлении.

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

[override virtual] QModelIndex QTableView::indexAt(const QPoint &pos) const

Переопределяет: QAbstractItemView::indexAt(const QPoint &point) const.

Возвращает индексную позицию элемента модели, соответствующего элементу таблицы в позиции pos в координатах содержимого.

bool QTableView::isColumnHidden(int column) const

Возвращает true если заданный столбец скрыт; в противном случае возвращает false.

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

[override virtual protected] bool QTableView::isIndexHidden(const QModelIndex &index) const

Переопределяет: QAbstractItemView::isIndexHidden(const QModelIndex &index) const.

bool QTableView::isRowHidden(int row) const

Возвращает true если заданная строка скрыта; в противном случае возвращает false.

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

[override virtual protected] QModelIndex QTableView::moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers)

Переопределяет: QAbstractItemView::moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers).

Перемещает курсор в соответствии с заданным cursorAction, используя информацию, предоставленную modifiers.

См. также QAbstractItemView::CursorAction.

[override virtual protected] void QTableView::paintEvent(QPaintEvent *event)

Переопределяет: QAbstractScrollArea::paintEvent(QPaintEvent *event).

Рисует таблицу при получении данного события рисования event.

int QTableView::rowAt(int y) const

Возвращает строку, в которой находится заданная координата y, y, в координатах содержимого.

Примечание: Эта функция возвращает -1, если заданная координата недействительна (нет строки).

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

int QTableView::rowHeight(int row) const

Возвращает высоту заданной строки.

См. также setRowHeight(), resizeRowToContents() и columnWidth().

int QTableView::rowSpan(int row, int column) const

Возвращает интервал строки элемента таблицы в позиции (row, column). По умолчанию он равен 1.

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

См. также setSpan() и columnSpan().

int QTableView::rowViewportPosition(int row) const

Возвращает координату y в координатах содержимого заданной строки.

[override virtual protected] QModelIndexList QTableView::selectedIndexes() const

Переопределяет: QAbstractItemView::selectedIndexes() const.

[override virtual protected] void QTableView::selectionChanged(const QItemSelection &selected, const QItemSelection &deselected)

Переопределяет: QAbstractItemView::selectionChanged(const QItemSelection &selected, const QItemSelection &deselected).

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().

[override virtual] void QTableView::setModel(QAbstractItemModel *model)

Переопределяет: QAbstractItemView::setModel(QAbstractItemModel *model).

[override virtual] void QTableView::setRootIndex(const QModelIndex &index)

Реализует: QAbstractItemView::setRootIndex(const QModelIndex &index).

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(const QRect &rect, QItemSelectionModel::SelectionFlags flags).

Выделяет элементы внутри заданного прямоугольника rect в соответствии с указанными флагами выбора flags.

[override virtual] void QTableView::setSelectionModel(QItemSelectionModel *selectionModel)

Реализует: QAbstractItemView::setSelectionModel(QItemSelectionModel *selectionModel).

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().

[override virtual protected] int QTableView::sizeHintForColumn(int column) const

Реализует: QAbstractItemView::sizeHintForColumn(int column) const.

Возвращает размер подсказки для ширины указанного столбца column или -1, если нет модели.

Если вам нужно установить ширину заданного столбца в фиксированное значение, вызовите QHeaderView::resizeSection() для горизонтального заголовка таблицы.

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

См. также QWidget::sizeHint, horizontalHeader() и QHeaderView::resizeContentsPrecision().

[override virtual protected] int QTableView::sizeHintForRow(int row) const

Реализует: QAbstractItemView::sizeHintForRow(int row) const.

Возвращает размер подсказки для высоты указанной строки row или -1, если нет модели.

Если вам нужно установить высоту заданной строки в фиксированное значение, вызовите QHeaderView::resizeSection() для вертикального заголовка таблицы.

Если вы переопределяете эту функцию в подклассе, обратите внимание, что возвращаемое значение используется только при вызове resizeRowToContents(). В этом случае, если высота строки, необходимая вертикальным заголовком или делегатом элемента, больше, будет использоваться большая высота.

См. также QWidget::sizeHint, verticalHeader() и QHeaderView::resizeContentsPrecision().

[override virtual protected] void QTableView::timerEvent(QTimerEvent *event)

Реализует: QAbstractItemView::timerEvent(QTimerEvent *event).

[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() const.

Возвращает вертикальное смещение элементов в представлении таблицы.

Обратите внимание, что представление таблицы использует позиции секций вертикального заголовка для определения позиций строк в представлении.

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

[override virtual protected] QStyleOptionViewItem QTableView::viewOptions() const

Реализует: QAbstractItemView::viewOptions() const.

[override virtual protected] QSize QTableView::viewportSizeHint() const

Реализует: QAbstractItemView::viewportSizeHint() const.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.14/qtableview.html

Spec-Zone.ru

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