QTextTable Class
La classe QTextTable représente un tableau dans un site QTextDocument. Plus....
| En-tête : | #include <QTextTable> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Gui)target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake : | QT += gui |
| Héritages : | QTextFrame |
- Liste de tous les membres, y compris les membres hérités
- QTextTable fait partie de Rich Text Processing APIs.
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 groupe de cellules ordonné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, nous pouvons insérer un tableau de trois lignes et deux colonnes à la position actuelle du curseur dans un éditeur en utilisant les 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 la création du tableau, soit modifié ultérieurement à l'aide de la fonction setFormat().
Le tableau en cours d'édition par le curseur est trouvé avec QTextCursor::currentTable(). Cela permet de modifier son format ou ses dimensions après l'avoir inséré dans un document.
La taille d'un tableau peut être modifiée avec resize(), ou en utilisant insertRows(), insertColumns(), removeRows(), ou removeColumns(). Utilisez cellAt() pour récupérer les cellules d'un tableau.
Les positions de début et de fin des lignes d'un tableau peuvent être trouvées en déplaçant un curseur dans un tableau et en utilisant les fonctions rowStart() et rowEnd() pour obtenir des curseurs 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 qui s'étendent sur plusieurs lignes ou colonnes peuvent être divisées. (La fusion ou le fractionnement n'augmente ni ne diminue le nombre de lignes et de colonnes).
Notez que si vous avez fusionné plusieurs colonnes et lignes dans une seule cellule, vous ne pourrez pas diviser la cellule fusionnée en nouvelles cellules couvrant plus d'une ligne ou d'une colonne. Pour pouvoir diviser des cellules s'étendant sur plusieurs lignes et colonnes, vous devez procéder à plusieurs itérations.
Tableau original | Supposons que nous disposions d'un tableau de 2 x 3 contenant des noms et des adresses. Pour fusionner les deux colonnes de la première ligne, nous invoquons mergeCells() avec row = 0, column = 0, numRows = 1 et numColumns = 2.table->mergeCells(0, 0, 1, 2); |
![]() | Nous obtenons ainsi le tableau suivant. Pour diviser la première ligne du tableau en deux cellules, nous invoquons la fonction splitCell() avec numRows et numCols = 1.table->splitCell(0, 0, 1, 1); |
Diviser le tableau | Nous obtenons le tableau original. |
Voir aussi QTextTableFormat.
Documentation des fonctions membres
void QTextTable::appendColumns(int count)
Ajoute les colonnes count à droite du tableau.
Voir aussi insertColumns(), insertRows(), resize(), removeRows(), removeColumns() et appendRows().
void QTextTable::appendRows(int count)
Ajoute les lignes count au bas du tableau.
Voir aussi insertColumns(), insertRows(), resize(), removeRows(), removeColumns() et appendColumns().
QTextTableCell QTextTable::cellAt(int row, int column) const
Renvoie la cellule du tableau aux adresses row et column.
Voir aussi columns() et rows().
QTextTableCell QTextTable::cellAt(const QTextCursor &cursor) const
Renvoie la cellule du tableau contenant la donnée cursor.
Il s'agit d'une fonction surchargée.
QTextTableCell QTextTable::cellAt(int position) const
Renvoie la cellule du tableau qui contient le caractère à l'adresse position dans le document.
Il s'agit d'une fonction surchargée.
int QTextTable::columns() const
Renvoie le nombre de colonnes du tableau.
Voir également rows().
QTextTableFormat QTextTable::format() const
Renvoie le format du tableau.
Voir aussi setFormat().
void QTextTable::insertColumns(int index, int columns)
Insère un certain nombre de columns avant la colonne avec le index spécifié.
Voir aussi insertRows(), resize(), removeRows(), removeColumns(), appendRows() et appendColumns().
void QTextTable::insertRows(int index, int rows)
Insère un certain nombre de rows avant la ligne avec le index spécifié.
Voir aussi resize(), insertColumns(), removeRows(), removeColumns(), appendRows() et appendColumns().
void QTextTable::mergeCells(int row, int column, int numRows, int numCols)
Fusionne la cellule située aux endroits spécifiés row et column avec les cellules adjacentes en une seule cellule. La nouvelle cellule s'étendra sur numRows lignes et numCols colonnes. Cette méthode ne fait rien 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 par l'adresse cursor.
Il s'agit d'une fonction surchargée.
Voir également splitCell().
void QTextTable::removeColumns(int index, int columns)
Supprime un certain nombre de columns en commençant par la colonne à l'adresse index spécifiée.
Voir aussi insertRows(), insertColumns(), removeRows(), resize(), appendRows() et appendColumns().
void QTextTable::removeRows(int index, int rows)
Supprime un certain nombre de rows en commençant par la ligne située à l'adresse index spécifiée.
Voir aussi insertRows(), insertColumns(), resize(), removeColumns(), appendRows() et appendColumns().
void QTextTable::resize(int rows, int columns)
Redimensionne le tableau pour qu'il contienne le nombre requis de rows et columns.
Voir aussi insertRows(), insertColumns(), removeRows() et removeColumns().
QTextCursor QTextTable::rowEnd(const QTextCursor &cursor) const
Renvoie un curseur pointant vers la fin de la ligne qui contient l'adresse cursor.
Voir aussi rowStart().
QTextCursor QTextTable::rowStart(const QTextCursor &cursor) const
Renvoie un curseur pointant vers le début de la ligne qui contient l'adresse cursor.
Voir aussi rowEnd().
int QTextTable::rows() const
Renvoie le nombre de lignes du tableau.
Voir également columns().
void QTextTable::setFormat(const QTextTableFormat &format)
Définit l'adresse format de la table.
Voir aussi format().
void QTextTable::splitCell(int row, int column, int numRows, int numCols)
Fractionne la cellule spécifiée à row et column en un tableau de plusieurs cellules dont les dimensions sont spécifiées par numRows et numCols.
Remarque : il n'est possible de diviser que les cellules qui s'étendent sur plusieurs lignes ou colonnes, telles que les lignes qui ont été fusionnées à l'aide de 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.
Tableau original