Spec-Zone.ru › Qt 6.1

Класс QTextTable

Класс QTextTable представляет таблицу в документе QTextDocument. Подробнее...

Заголовок: #include <QTextTable>
CMake: find_package(Qt6 COMPONENTS Gui REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
Наследуется от: QTextFrame
  • Список всех членов, включая унаследованные

Примечание: Все функции в этом классе являются реентерабельными.

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

void appendColumns(int count)
void appendRows(int count)
QTextTableCell cellAt(int row, int column) const
QTextTableCell cellAt(int position) const
QTextTableCell cellAt(const QTextCursor &cursor) const
int columns() const
QTextTableFormat format() const
void insertColumns(int index, int columns)
void insertRows(int index, int rows)
void mergeCells(int row, int column, int numRows, int numCols)
void mergeCells(const QTextCursor &cursor)
void removeColumns(int index, int columns)
void removeRows(int index, int rows)
void resize(int rows, int columns)
QTextCursor rowEnd(const QTextCursor &cursor) const
QTextCursor rowStart(const QTextCursor &cursor) const
int rows() const
void setFormat(const QTextTableFormat &format)
void splitCell(int row, int column, int numRows, int numCols)

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

Таблица представляет собой набор ячеек, упорядоченных в строки и столбцы. Каждая таблица содержит не менее одной строки и одного столбца. Каждая ячейка содержит блок и окружена рамкой.

Таблицы обычно создаются и вставляются в документ с помощью функции QTextCursor::insertTable(). Например, мы можем вставить таблицу с тремя строками и двумя столбцами в текущей позиции курсора в редакторе с помощью следующих строк кода:

    QTextCursor cursor(editor->textCursor());
    cursor.movePosition(QTextCursor::Start);

    QTextTable *table = cursor.insertTable(rows, columns, tableFormat);

Формат таблицы определяется при её создании или изменяется позже с помощью setFormat().

Таблица, которая в данный момент редактируется курсором, находится с помощью QTextCursor::currentTable(). Это позволяет изменить её формат или размеры после вставки в документ.

Размер таблицы может быть изменён с помощью resize(), или с помощью insertRows(), insertColumns(), removeRows() или removeColumns(). Используйте cellAt() для получения ячеек таблицы.

Начальные и конечные позиции строк таблицы можно найти, перемещая курсор внутри таблицы и используя функции rowStart() и rowEnd() для получения курсоров в начале и конце каждой строки.

Строки и столбцы в QTextTable могут быть объединены и разделены с помощью функций mergeCells() и splitCell(). Однако, разделить можно только ячейки, занимающие несколько строк или столбцов. (Объединение или разделение не увеличивает и не уменьшает количество строк и столбцов.)

Обратите внимание, что если вы объединили несколько столбцов и строк в одну ячейку, вы не сможете разделить объединённую ячейку на новые ячейки, занимающие более одной строки или столбца. Чтобы разделить ячейки, занимающие несколько строк и столбцов, вам нужно сделать это за несколько итераций.

Original Table Предположим, у нас есть таблица 2x3 с именами и адресами. Чтобы объединить оба столбца в первой строке, мы вызываем mergeCells() со значениями row = 0, column = 0, numRows = 1 и numColumns = 2.
    table->mergeCells(0, 0, 1, 2);
Это даёт нам следующую таблицу. Чтобы разделить первую строку таблицы на две ячейки, мы вызываем функцию splitCell() со значениями numRows и numCols = 1.
    table->splitCell(0, 0, 1, 1);
Split Table Это даёт нам исходную таблицу.

См. также QTextTableFormat.

Документация по функциям-членам

void QTextTable::appendColumns(int count)

Добавляет count столбцов справа от таблицы.

См. также insertColumns(), insertRows(), resize(), removeRows(), removeColumns(), и appendRows().

void QTextTable::appendRows(int count)

Добавляет count строк в конец таблицы.

См. также insertColumns(), insertRows(), resize(), removeRows(), removeColumns(), и appendColumns().

QTextTableCell QTextTable::cellAt(int row, int column) const

Возвращает ячейку таблицы по заданной row и column.

См. также columns() и rows().

QTextTableCell QTextTable::cellAt(int position) const

Это перегруженная функция.

Возвращает ячейку таблицы, содержащую символ по заданной position в документе.

QTextTableCell QTextTable::cellAt(const QTextCursor &cursor) const

Это перегруженная функция.

Возвращает ячейку таблицы, содержащую заданный cursor.

int QTextTable::columns() const

Возвращает количество столбцов в таблице.

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

QTextTableFormat QTextTable::format() const

Возвращает формат таблицы.

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

void QTextTable::insertColumns(int index, int columns)

Вставляет заданное число columns перед столбцом с указанным index.

См. также insertRows(), resize(), removeRows(), removeColumns(), appendRows(), и appendColumns().

void QTextTable::insertRows(int index, int rows)

Вставляет заданное число rows перед строкой с указанным index.

См. также resize(), insertColumns(), removeRows(), removeColumns(), appendRows() и appendColumns().

void QTextTable::mergeCells(int row, int column, int numRows, int numCols)

Объединяет ячейку по указанным row и column с соседними ячейками в одну ячейку. Новая ячейка будет охватывать numRows строк и numCols столбцов. Этот метод ничего не делает, если numRows или numCols меньше текущего числа строк или столбцов, охватываемых ячейкой.

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

void QTextTable::mergeCells(const QTextCursor &cursor)

Это перегруженный метод.

Объединяет ячейки, выбранные заданным cursor.

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

void QTextTable::removeColumns(int index, int columns)

Удаляет количество columns, начиная со столбца с заданным index.

См. также insertRows(), insertColumns(), removeRows(), resize(), appendRows() и appendColumns().

void QTextTable::removeRows(int index, int rows)

Удаляет количество rows, начиная со строки с заданным index.

См. также insertRows(), insertColumns(), resize(), removeColumns(), appendRows() и appendColumns().

void QTextTable::resize(int rows, int columns)

Изменяет размер таблицы, чтобы она содержала необходимое количество rows и columns.

См. также insertRows(), insertColumns(), removeRows() и removeColumns().

QTextCursor QTextTable::rowEnd(const QTextCursor &cursor) const

Возвращает курсор, указывающий на конец строки, содержащей заданный cursor.

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

QTextCursor QTextTable::rowStart(const QTextCursor &cursor) const

Возвращает курсор, указывающий на начало строки, содержащей заданный cursor.

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

int QTextTable::rows() const

Возвращает количество строк в таблице.

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

void QTextTable::setFormat(const QTextTableFormat &format)

Устанавливает формат таблицы.

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

void QTextTable::splitCell(int row, int column, int numRows, int numCols)

Разделяет указанную ячейку по row и column на массив нескольких ячеек с размерами, заданными numRows и numCols.

Примечание: Разделить можно только ячейки, занимающие несколько строк или столбцов, например, строки, объединенные с помощью mergeCells().

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

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

Spec-Zone.ru

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