Spec-Zone.ru › Qt 5.13

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

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

виртуальный void currentChanged(const QModelIndex &current, const QModelIndex &previous) override
виртуальный int horizontalOffset() const override
виртуальный bool isIndexHidden(const QModelIndex &index) const override
виртуальный QModelIndex moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers) override
виртуальный void paintEvent(QPaintEvent *event) override
виртуальный QModelIndexList selectedIndexes() const override
виртуальный void selectionChanged(const QItemSelection &selected, const QItemSelection &deselected) override
виртуальный void setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags flags) override
виртуальный int sizeHintForColumn(int column) const override
виртуальный int sizeHintForRow(int row) const override
виртуальный void timerEvent(QTimerEvent *event) override
виртуальный void updateGeometries() override
виртуальный int verticalOffset() const override
виртуальный QStyleOptionViewItem viewOptions() const override
виртуальный 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)

Показать заданный column.

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

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

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

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

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

Сортирует модель по значениям в заданном column в заданном order.

Эта функция была добавлена в 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 в координатах содержимого заданного 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(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 , если заданный column скрыт; в противном случае возвращает 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 , если заданная row скрыта; в противном случае возвращает 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

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

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

[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, заданный 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(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.13/qtableview.html

Spec-Zone.ru

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