Spec-Zone.ru › Qt 5.11

Класс QTextTable

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

Заголовок: #include <QTextTable>
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)
  • 10 открытых функций унаследованных от QTextFrame
  • 4 открытых функций унаследованных от QTextObject
  • 34 открытых функций унаследованных от QObject

Дополнительные унаследованные члены

  • 1 свойство унаследованное от QObject
  • 1 открытый слот унаследованный от QObject
  • 2 сигналы унаследованные от QObject
  • 1 открытая переменная унаследованная от QObject
  • 10 статических открытых членов унаследованных от QObject
  • 1 защищённая функция унаследованная от QTextObject
  • 9 защищённых функций унаследованных от QObject
  • 2 защищённых переменных унаследованных от QObject

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

Класс QTextTable представляет таблицу в QTextDocument.

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

Таблицы обычно создаются и вставляются в документ с помощью функции 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 столбцов справа от таблицы.

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

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

void QTextTable::appendRows(int count)

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

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

См. также 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 меньше текущего числа строк или столбцов, занимаемых ячейкой.

Функция была добавлена в Qt 4.1.

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

void QTextTable::mergeCells(const QTextCursor &cursor)

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

Объединяет ячейки, выбранные с помощью предоставленного cursor.

Функция была добавлена в Qt 4.1.

См. также 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 таблицы.

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

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

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

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

Функция была добавлена в Qt 4.1.

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

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

Spec-Zone.ru

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