QTextTable Class
Die Klasse `QTextTable` stellt eine Tabelle in einem ` QTextDocument` dar. Mehr...
| Header: | #include <QTextTable> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
| Erbt von: | QTextFrame |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QTextTable ist Teil der Rich-Text-Verarbeitungs-APIs.
Hinweis: Alle Funktionen dieser Klasse sind reentrant.
Öffentliche Funktionen
| 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) |
Ausführliche Beschreibung
Eine Tabelle ist eine Gruppe von Zellen, die in Zeilen und Spalten angeordnet sind. Jede Tabelle enthält mindestens eine Zeile und eine Spalte. Jede Zelle enthält einen Block und ist von einem Rahmen umgeben.
Tabellen werden in der Regel mit der Funktion ` QTextCursor::insertTable()` erstellt und in ein Dokument eingefügt. Beispielsweise können wir mit den folgenden Codezeilen eine Tabelle mit drei Zeilen und zwei Spalten an der aktuellen Cursorposition in einem Editor einfügen:
QTextCursor cursor(editor->textCursor());
cursor.movePosition(QTextCursor::Start);
QTextTable *table = cursor.insertTable(rows, columns, tableFormat);Das Tabellenformat wird entweder beim Erstellen der Tabelle festgelegt oder später mit ` setFormat()` geändert.
Die Tabelle, die gerade vom Cursor bearbeitet wird, wird mit ` QTextCursor::currentTable()` ermittelt. Dadurch lassen sich ihr Format oder ihre Abmessungen ändern, nachdem sie in ein Dokument eingefügt wurde.
Die Größe einer Tabelle kann mit ` resize()` oder mithilfe von ` insertRows()`, ` insertColumns()`, ` removeRows()` oder ` removeColumns()` geändert werden. Verwenden Sie ` cellAt()`, um Tabellenzellen abzurufen.
Die Start- und Endpositionen von Tabellenzeilen lassen sich ermitteln, indem Sie den Cursor innerhalb einer Tabelle bewegen und die Funktionen ` rowStart()` und ` rowEnd()` verwenden, um die Cursor am Anfang und am Ende jeder Zeile abzurufen.
Zeilen und Spalten innerhalb einer `QTextTable` können mithilfe der Funktionen ` mergeCells()` und ` splitCell()` zusammengeführt und geteilt werden. Es können jedoch nur Zellen geteilt werden, die sich über mehrere Zeilen oder Spalten erstrecken. (Das Zusammenführen oder Teilen erhöht oder verringert die Anzahl der Zeilen und Spalten nicht.)
Beachten Sie: Wenn Sie mehrere Spalten und Zeilen zu einer Zelle zusammengefügt haben, können Sie die zusammengeführte Zelle nicht in neue Zellen aufteilen, die sich über mehr als eine Zeile oder Spalte erstrecken. Um Zellen aufteilen zu können, die sich über mehrere Zeilen und Spalten erstrecken, müssen Sie dies in mehreren Schritten durchführen.
![]() | Angenommen, wir haben eine 2×3-Tabelle mit Namen und Adressen. Um beide Spalten in der ersten Zeile zusammenzufassen, rufen wir ` mergeCells()` mit den Parametern ` row = 0`, ` column = 0`, ` numRows = 1` und ` numColumns = 2` auf. |
![]() | Dies ergibt die folgende Tabelle. Um die erste Zeile der Tabelle wieder in zwei Zellen aufzuteilen, rufen wir die Funktion ` splitCell()` mit den Parametern ` numRows ` und ` numCols ` = 1 auf. |
![]() | Das Ergebnis ist die ursprüngliche Tabelle. |
Siehe auch „ QTextTableFormat “.
Dokumentation zu den Member-Funktionen
void QTextTable::appendColumns(int count)
Fügt die Spalten „ count “ auf der rechten Seite der Tabelle hinzu.
Siehe auch insertColumns(), insertRows(), resize(), removeRows(), removeColumns() und appendRows().
void QTextTable::appendRows(int count)
Fügt die Zeilen aus count am Ende der Tabelle an.
Siehe auch insertColumns(), insertRows(), resize(), removeRows(), removeColumns() und appendColumns().
QTextTableCell QTextTable::cellAt(int row, int column) const
Gibt die Tabellenzelle an den angegebenen Koordinaten row und column in der Tabelle zurück.
Siehe auch columns() und rows().
QTextTableCell QTextTable::cellAt(const QTextCursor &cursor) const
Gibt die Tabellenzelle zurück, die den angegebenen Wert „ cursor “ enthält.
Dies ist eine überladene Funktion.
QTextTableCell QTextTable::cellAt(int position) const
Gibt die Tabellenzelle zurück, die das Zeichen an der angegebenen Position „ position “ im Dokument enthält.
Dies ist eine überladene Funktion.
int QTextTable::columns() const
Gibt die Anzahl der Spalten in der Tabelle zurück.
Siehe auch „ rows()“.
QTextTableFormat QTextTable::format() const
Gibt das Format der Tabelle zurück.
Siehe auch ` setFormat()`.
void QTextTable::insertColumns(int index, int columns)
Fügt eine Anzahl von „ columns “ vor der Spalte mit dem angegebenen „ index “ ein.
Siehe auch insertRows(), resize(), removeRows(), removeColumns(), appendRows() und appendColumns().
void QTextTable::insertRows(int index, int rows)
Fügt eine bestimmte Anzahl von „ rows “ vor der Zeile mit dem angegebenen „ index “ ein.
Siehe auch „ resize()“, „ insertColumns()“, „ removeRows()“, „ removeColumns()“, „ appendRows()“ und „ appendColumns()“.
void QTextTable::mergeCells(int row, int column, int numRows, int numCols)
Führt die Zelle unter den angegebenen Koordinaten row und column mit den benachbarten Zellen zu einer einzigen Zelle zusammen. Die neue Zelle erstreckt sich über numRows Zeilen und numCols Spalten. Diese Methode führt keine Aktion aus, wenn numRows oder numCols kleiner ist als die aktuelle Anzahl der Zeilen oder Spalten, über die sich die Zelle erstreckt.
Siehe auch splitCell().
void QTextTable::mergeCells(const QTextCursor &cursor)
Fügt die Zellen zusammen, die durch die angegebene „ cursor “ ausgewählt wurden.
Dies ist eine überladene Funktion.
Siehe auch ` splitCell()`.
void QTextTable::removeColumns(int index, int columns)
Entfernt eine Reihe von „ columns “, beginnend mit der Spalte an der angegebenen Position index.
Siehe auch insertRows(), insertColumns(), removeRows(), resize(), appendRows() und appendColumns().
void QTextTable::removeRows(int index, int rows)
Entfernt eine bestimmte Anzahl von „ rows “, beginnend mit der Zeile an der angegebenen Adresse index.
Siehe auch insertRows(), insertColumns(), resize(), removeColumns(), appendRows() und appendColumns().
void QTextTable::resize(int rows, int columns)
Passen Sie die Größe der Tabelle so an, dass sie die erforderliche Anzahl von rows und columns enthält.
Siehe auch insertRows(), insertColumns(), removeRows() und removeColumns().
QTextCursor QTextTable::rowEnd(const QTextCursor &cursor) const
Gibt einen Cursor zurück, der auf das Ende der Zeile zeigt, die das angegebene cursor enthält.
Siehe auch ` rowStart()`.
QTextCursor QTextTable::rowStart(const QTextCursor &cursor) const
Gibt einen Cursor zurück, der auf den Anfang der Zeile zeigt, die das angegebene ` cursor` enthält.
Siehe auch ` rowEnd()`.
int QTextTable::rows() const
Gibt die Anzahl der Zeilen in der Tabelle zurück.
Siehe auch „ columns()“.
void QTextTable::setFormat(const QTextTableFormat &format)
Legt die „ format “ der Tabelle fest.
Siehe auch „ format()“.
void QTextTable::splitCell(int row, int column, int numRows, int numCols)
Teilt die angegebene Zelle unter row und column in ein Array aus mehreren Zellen auf, deren Dimensionen durch numRows und numCols festgelegt sind.
Hinweis: Es können nur Zellen geteilt werden, die sich über mehrere Zeilen oder Spalten erstrecken, z. B. Zeilen, die mit mergeCells() zusammengefügt wurden.
Siehe auch 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.

