Auf dieser Seite

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

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.

Tabelle mit separaten KopfzellenAngenommen, 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.
    table->mergeCells(0, 0, 1, 2);
Tabelle mit zusammengeführter KopfzelleDies 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.
    table->splitCell(0, 0, 1, 1);
Tabelle mit separaten KopfzellenDas 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.