En esta página

QTextTable Class

La clase QTextTable representa una tabla en un QTextDocument. Más...

Cabecera: #include <QTextTable>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
Hereda: QTextFrame

Nota: Todas las funciones de esta clase son reentrantes.

Funciones Públicas

void appendColumns(int count)
void appendRows(int count)
QTextTableCell cellAt(int row, int column) const
QTextTableCell cellAt(const QTextCursor &cursor) const
QTextTableCell cellAt(int position) 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)

Descripción Detallada

Una tabla es un grupo de celdas ordenadas en filas y columnas. Cada tabla contiene al menos una fila y una columna. Cada celda contiene un bloque y está rodeada por un marco.

Las tablas suelen crearse e insertarse en un documento con la función QTextCursor::insertTable(). Por ejemplo, podemos insertar una tabla con tres filas y dos columnas en la posición actual del cursor en un editor utilizando las siguientes líneas de código:

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

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

El formato de la tabla se define al crearla o se modifica posteriormente con setFormat().

La tabla que está siendo editada por el cursor se encuentra con QTextCursor::currentTable(). Esto permite modificar su formato o sus dimensiones después de haberla insertado en un documento.

El tamaño de una tabla puede modificarse con resize(), o utilizando insertRows(), insertColumns(), removeRows(), o removeColumns(). Utilice cellAt() para recuperar las celdas de la tabla.

Las posiciones inicial y final de las filas de una tabla pueden encontrarse moviendo un cursor dentro de una tabla, y utilizando las funciones rowStart() y rowEnd() para obtener cursores al principio y al final de cada fila.

Las filas y columnas de una QTextTable pueden combinarse y dividirse mediante las funciones mergeCells() y splitCell(). Sin embargo, sólo pueden dividirse las celdas que abarcan varias filas o columnas. (Fusionar o dividir no aumenta ni disminuye el número de filas y columnas).

Tenga en cuenta que si ha combinado varias columnas y filas en una celda, no podrá dividir la celda combinada en nuevas celdas que abarquen más de una fila o columna. Para poder dividir celdas que abarcan varias filas y columnas deberá hacerlo en varias iteraciones.

Tabla originalSupongamos que tenemos una tabla 2x3 de nombres y direcciones. Para unir las dos columnas de la primera fila invocamos mergeCells() con row = 0, column = 0, numRows = 1 y numColumns = 2.
    table->mergeCells(0, 0, 1, 2);
Así obtenemos la siguiente tabla. Para volver a dividir la primera fila de la tabla en dos celdas, invocamos la función splitCell() con numRows y numCols = 1.
    table->splitCell(0, 0, 1, 1);
Dividir tablaEl resultado es la tabla original.

Véase también QTextTableFormat.

Documentación de funciones miembro

void QTextTable::appendColumns(int count)

Añade columnas count a la derecha de la tabla.

Véase también insertColumns(), insertRows(), resize(), removeRows(), removeColumns() y appendRows().

void QTextTable::appendRows(int count)

Añade count filas en la parte inferior de la tabla.

Véase también insertColumns(), insertRows(), resize(), removeRows(), removeColumns() y appendColumns().

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

Devuelve la celda de la tabla en las direcciones row y column dadas en la tabla.

Véase también columns() y rows().

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

Devuelve la celda de la tabla que contiene la dirección cursor.

Se trata de una función sobrecargada.

QTextTableCell QTextTable::cellAt(int position) const

Devuelve la celda de la tabla que contiene el carácter en la dirección position del documento.

Se trata de una función sobrecargada.

int QTextTable::columns() const

Devuelve el número de columnas de la tabla.

Véase también rows().

QTextTableFormat QTextTable::format() const

Devuelve el formato de la tabla.

Véase también setFormat().

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

Inserta un número de columns antes de la columna con el index especificado.

Véase también insertRows(), resize(), removeRows(), removeColumns(), appendRows() y appendColumns().

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

Inserta un número de rows antes de la fila con el index especificado.

Véase también resize(), insertColumns(), removeRows(), removeColumns(), appendRows() y appendColumns().

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

Fusiona la celda en las direcciones row y column especificadas con las celdas adyacentes en una sola celda. La nueva celda abarcará numRows filas y numCols columnas. Este método no hace nada si numRows o numCols es menor que el número actual de filas o columnas que abarca la celda.

Véase también splitCell().

void QTextTable::mergeCells(const QTextCursor &cursor)

Fusiona las celdas seleccionadas mediante la dirección cursor.

Se trata de una función sobrecargada.

Véase también splitCell().

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

Elimina un número de columns empezando por la columna en el index especificado.

Véase también insertRows(), insertColumns(), removeRows(), resize(), appendRows() y appendColumns().

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

Elimina un número de rows empezando por la fila en el index especificado.

Véase también insertRows(), insertColumns(), resize(), removeColumns(), appendRows() y appendColumns().

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

Redimensiona la tabla para que contenga el número requerido de rows y columns.

Véase también insertRows(), insertColumns(), removeRows() y removeColumns().

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

Devuelve un cursor que apunta al final de la fila que contiene la dirección cursor.

Véase también rowStart().

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

Devuelve un cursor que apunta al inicio de la fila que contiene la dirección cursor.

Véase también rowEnd().

int QTextTable::rows() const

Devuelve el número de filas de la tabla.

Véase también columns().

void QTextTable::setFormat(const QTextTableFormat &format)

Establece la dirección format de la tabla.

Véase también format().

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

Divide la celda especificada en row y column en una matriz de múltiples celdas con las dimensiones especificadas por numRows y numCols.

Nota: Sólo es posible dividir celdas que abarcan múltiples filas o columnas, como filas que han sido combinadas usando mergeCells().

Véase también mergeCells().

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.