Spec-Zone.ru › Qt 5.9

Класс 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
  • 32 открытых функции, унаследованных от QObject

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

  • 1 свойство, унаследованное от QObject
  • 1 открытый слот, унаследованный от QObject
  • 2 сигнала, унаследованные от QObject
  • 11 статические открытые члены, унаследованные от QObject
  • 1 защищённая функция, унаследованная от QTextObject
  • 9 защищённых функций, унаследованных от 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

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

См. также 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)

Вставляет заданное количество 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/qt-5.9/qtexttable.html

Spec-Zone.ru

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