Spec-Zone.ru › Qt

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

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

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

QTextTableCell QTextTable::cellAt(int position) const

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

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

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

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

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

int QTextTable::columns() const

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

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

QTextTableFormat QTextTable::format() const

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

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

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

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

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

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

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

См. также 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.2/qtexttable.html

Spec-Zone.ru

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