QTextTable Class
La classe QTextTable représente un tableau dans un fichier « QTextDocument ». En savoir plus...
| En-tête : | #include <QTextTable> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake : | QT += gui |
| Hérite de : | QTextFrame |
- Liste de tous les membres, y compris les membres hérités
- QTextTable fait partie des API de traitement de texte enrichi.
Remarque : toutes les fonctions de cette classe sont réentrantes.
Fonctions publiques
| 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) |
Description détaillée
Un tableau est un ensemble de cellules organisées en lignes et en colonnes. Chaque tableau contient au moins une ligne et une colonne. Chaque cellule contient un bloc et est entourée d'un cadre.
Les tableaux sont généralement créés et insérés dans un document à l’aide de la fonction QTextCursor::insertTable(). Par exemple, on peut insérer un tableau de trois lignes et deux colonnes à la position actuelle du curseur dans un éditeur à l’aide des lignes de code suivantes :
QTextCursor cursor(editor->textCursor());
cursor.movePosition(QTextCursor::Start);
QTextTable *table = cursor.insertTable(rows, columns, tableFormat);Le format du tableau est soit défini lors de sa création, soit modifié ultérieurement à l'aide de la fonction setFormat().
Le tableau actuellement édité par le curseur est identifié à l’aide de la fonction ` QTextCursor::currentTable()`. Cela permet de modifier son format ou ses dimensions après son insertion dans un document.
La taille d'un tableau peut être modifiée à l'aide de la fonction ` resize()`, ou en utilisant les fonctions ` insertRows()`, ` insertColumns()`, ` removeRows()` ou ` removeColumns()`. Utilisez la fonction ` cellAt()` pour récupérer les cellules du tableau.
Les positions de début et de fin des lignes du tableau peuvent être déterminées en déplaçant le curseur à l’intérieur du tableau, puis en utilisant les fonctions rowStart() et rowEnd() pour obtenir les curseurs situés au début et à la fin de chaque ligne.
Les lignes et les colonnes d’un QTextTable peuvent être fusionnées et divisées à l’aide des fonctions mergeCells() et splitCell(). Cependant, seules les cellules s’étendant sur plusieurs lignes ou colonnes peuvent être divisées. (La fusion ou la division n’augmente ni ne diminue le nombre de lignes et de colonnes.)
Notez que si vous avez fusionné plusieurs colonnes et lignes en une seule cellule, vous ne pourrez pas diviser cette cellule fusionnée en de nouvelles cellules s'étendant sur plus d'une ligne ou d'une colonne. Pour pouvoir diviser des cellules s'étendant sur plusieurs lignes et colonnes, vous devez effectuer cette opération en plusieurs itérations.
![]() | Supposons que nous ayons un tableau 2x3 contenant des noms et des adresses. Pour fusionner les deux colonnes de la première ligne, nous appelons la fonction mergeCells() avec les paramètres suivants : row = 0, column = 0, numRows = 1 et numColumns = 2. |
![]() | Cela nous donne le tableau suivant. Pour diviser à nouveau la première ligne du tableau en deux cellules, nous appelons la fonction splitCell() avec numRows et numCols = 1. |
![]() | On obtient ainsi le tableau d'origine. |
Voir également QTextTableFormat.
Documentation des fonctions membres
void QTextTable::appendColumns(int count)
Ajoute les colonnes « count » à droite du tableau.
Voir également insertColumns(), insertRows(), resize(), removeRows(), removeColumns() et appendRows().
void QTextTable::appendRows(int count)
Ajoute les lignes count à la fin du tableau.
Voir également insertColumns(), insertRows(), resize(), removeRows(), removeColumns() et appendColumns().
QTextTableCell QTextTable::cellAt(int row, int column) const
Renvoie la cellule du tableau correspondant aux coordonnées row et column.
Voir également columns() et rows().
QTextTableCell QTextTable::cellAt(const QTextCursor &cursor) const
Renvoie la cellule du tableau contenant l'cursor on indiquée.
Il s'agit d'une fonction surchargée.
QTextTableCell QTextTable::cellAt(int position) const
Renvoie la cellule du tableau contenant le caractère situé à l'position e indiquée dans le document.
Il s'agit d'une fonction surchargée.
int QTextTable::columns() const
Renvoie le nombre de colonnes de la table.
Voir aussi rows().
QTextTableFormat QTextTable::format() const
Renvoie le format de la table.
Voir aussi setFormat().
void QTextTable::insertColumns(int index, int columns)
Insère un certain nombre de balises « columns » avant la colonne dont l'index est spécifiée.
Voir également insertRows(), resize(), removeRows(), removeColumns(), appendRows() et appendColumns().
void QTextTable::insertRows(int index, int rows)
Insère un certain nombre d'rows avant la ligne contenant l'index spécifiée.
Voir également resize(), insertColumns(), removeRows(), removeColumns(), appendRows() et appendColumns().
void QTextTable::mergeCells(int row, int column, int numRows, int numCols)
Fusionne la cellule située à l'adresse row et column avec les cellules adjacentes pour ne former qu'une seule cellule. La nouvelle cellule s'étendra sur numRows lignes et numCols colonnes. Cette méthode n'a aucun effet si numRows ou numCols est inférieur au nombre actuel de lignes ou de colonnes couvertes par la cellule.
Voir également splitCell().
void QTextTable::mergeCells(const QTextCursor &cursor)
Fusionne les cellules sélectionnées à l'aide de l'cursor fournie.
Il s'agit d'une fonction surchargée.
Voir également splitCell().
void QTextTable::removeColumns(int index, int columns)
Supprime un certain nombre d'columns s à partir de la colonne située à l'index spécifiée.
Voir également insertRows(), insertColumns(), removeRows(), resize(), appendRows() et appendColumns().
void QTextTable::removeRows(int index, int rows)
Supprime un certain nombre de fichiers « rows » en commençant par la ligne située à l'adresse spécifiée index.
Voir également insertRows(), insertColumns(), resize(), removeColumns(), appendRows() et appendColumns().
void QTextTable::resize(int rows, int columns)
Redimensionne le tableau pour qu'il contienne le nombre requis d'rows et d'columns.
Voir également insertRows(), insertColumns(), removeRows() et removeColumns().
QTextCursor QTextTable::rowEnd(const QTextCursor &cursor) const
Renvoie un curseur pointant vers la fin de la ligne contenant l'cursor donné.
Voir aussi rowStart().
QTextCursor QTextTable::rowStart(const QTextCursor &cursor) const
Renvoie un curseur pointant vers le début de la ligne contenant l'cursor on fournie.
Voir aussi rowEnd().
int QTextTable::rows() const
Renvoie le nombre de lignes de la table.
Voir aussi columns().
void QTextTable::setFormat(const QTextTableFormat &format)
Définit l'format de la table.
Voir aussi format().
void QTextTable::splitCell(int row, int column, int numRows, int numCols)
Divise la cellule spécifiée à l'adresse row et column en un tableau composé de plusieurs cellules, dont les dimensions sont spécifiées par numRows et numCols.
Remarque : il n'est possible de diviser que les cellules s'étendant sur plusieurs lignes ou colonnes, telles que les lignes fusionnées à l'aide de la fonction mergeCells().
Voir également 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.

