Spec-Zone.ru › Qt 5.6

Класс 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
  • 31 публичных функций унаследованных от 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/archives/qt-5.6/qtexttable.html

Spec-Zone.ru

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