Spec-Zone.ru › Qt 5.6

Класс QTableView

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

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

QTableWidget

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

Свойства

  • cornerButtonEnabled : bool
  • gridStyle : Qt::PenStyle
  • showGrid : bool
  • sortingEnabled : bool
  • wordWrap : bool
  • 16 свойств унаследовано от QAbstractItemView
  • 3 свойства унаследовано от QAbstractScrollArea
  • 6 свойств унаследовано от QFrame
  • 58 свойств унаследовано от 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)
  • 57 открытых функций унаследовано от QAbstractItemView
  • 20 открытых функций унаследовано от QAbstractScrollArea
  • 14 открытых функций унаследовано от QFrame
  • 211 открытых функций унаследовано от 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 public slots унаследованы от QAbstractItemView
  • 19 public slots унаследованы от QWidget
  • 1 public slot унаследован от QObject

Реализованные защищённые функции

virtual void currentChanged(const QModelIndex &current, 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 статические публичные члены унаследованы от QWidget
  • 11 статические публичные члены унаследованы от 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.

END_OF_DOCUMENT_MARKER

Элементы, отображаемые в представлении таблицы, как и в других представлениях элементов, рендерятся и редактируются с помощью стандартных делегированных функций. Однако для некоторых задач иногда полезно иметь возможность вставлять виджеты в таблицу вместо этого. Виджеты устанавливаются для конкретных индексов с помощью функции setIndexWidget(), а затем извлекаются с помощью indexWidget().

По умолчанию ячейки в таблице не расширяются для заполнения доступного пространства.

Вы можете сделать так, чтобы ячейки заполняли доступное пространство, растянув последнюю секцию заголовка. Доступ к соответствующему заголовку можно получить с помощью horizontalHeader() или verticalHeader() и установить свойство заголовка stretchLastSection.

Чтобы распределить доступное пространство в соответствии с потребностями каждой колонки или строки, вызовите функции представления resizeColumnsToContents() или resizeRowsToContents().

Системы координат

Для некоторых специализированных форм таблиц полезно иметь возможность преобразовывать между индексами строк и столбцов и координатами виджетов. Функция rowAt() предоставляет координату y внутри представления заданной строки; индекс строки может быть использован для получения соответствующей координаты y с помощью rowViewportPosition(). Функции columnAt() и columnViewportPosition() предоставляют эквивалентные операции преобразования между координатами x и индексами столбцов.

Стили

QTableView стилизуется соответствующим образом для каждой платформы. На следующих изображениях показано, как он выглядит на трёх разных платформах. Перейдите в Qt Widget Gallery, чтобы увидеть его внешний вид в других стилях.

Screenshot of a Windows Vista style table view Screenshot of a Macintosh style table view Screenshot of a Fusion style table view
Представление таблицы в стиле Windows Vista. Представление таблицы в стиле Macintosh. Представление таблицы в стиле Fusion.

См. также QTableWidget, Классы представлений, QAbstractItemModel, QAbstractItemView, Пример диаграммы, Пример пикселятора и Пример модели таблицы.

Документация по свойствам

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, в координатах содержимого.

Примечание: Эта функция возвращает -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 &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().

[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 если заданный column скрыт; в противном случае возвращает false.

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

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

Переопределено из QAbstractItemView::isIndexHidden().

bool QTableView::isRowHidden(int row) const

Возвращает true если заданная row скрыта; в противном случае возвращает 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)

Изменяет размер заданного 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 в координатах содержимого.

Примечание: Эта функция возвращает -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().

[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, заданный столбец column будет скрыт; в противном случае он будет показан.

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

void QTableView::setColumnWidth(int column, int width)

Устанавливает ширину заданного столбца column в значение 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/archives/qt-5.6/qtableview.html

Spec-Zone.ru

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