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 |
- Lista de todos los miembros, incluyendo los heredados
- QTextTable es parte de las APIs de Procesamiento de Texto Enriquecido.
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 original | Supongamos 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 tabla | El 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.
Tabla original