Detailed Description
The QTextTable class represents a table in a QTextDocument.
A table is a group of cells ordered into rows and columns. Each table contains at least one row and one column. Each cell contains a block, and is surrounded by a frame.
Tables are usually created and inserted into a document with the QTextCursor::insertTable() function. For example, we can insert a table with three rows and two columns at the current cursor position in an editor using the following lines of code:
QTextCursor cursor(editor->textCursor());
cursor.movePosition(QTextCursor::Start);
QTextTable *table = cursor.insertTable(rows, columns, tableFormat);
The table format is either defined when the table is created or changed later with setFormat().
The table currently being edited by the cursor is found with QTextCursor::currentTable(). This allows its format or dimensions to be changed after it has been inserted into a document.
A table's size can be changed with resize(), or by using insertRows(), insertColumns(), removeRows(), or removeColumns(). Use cellAt() to retrieve table cells.
The starting and ending positions of table rows can be found by moving a cursor within a table, and using the rowStart() and rowEnd() functions to obtain cursors at the start and end of each row.
See also QTextTableFormat.
Member Function Documentation
QTextTableCell QTextTable::cellAt ( int row, int column ) const
Returns the table cell at the given row and column in the table.
See also columns() and rows().
QTextTableCell QTextTable::cellAt ( int position ) const
This is an overloaded member function, provided for convenience.
Returns the table cell that contains the character at the given position in the document.
This is an overloaded member function, provided for convenience.
Returns the table cell containing the given cursor.
int QTextTable::columns () const
Returns the number of columns in the table.
See also rows().
Returns the table's format.
See also setFormat().
void QTextTable::insertColumns ( int index, int columns )
Inserts a number of columns before the column with the specified index.
See also insertRows(), resize(), removeRows(), and removeColumns().
void QTextTable::insertRows ( int index, int rows )
Inserts a number of rows before the row with the specified index.
See also resize(), insertColumns(), removeRows(), and removeColumns().
void QTextTable::mergeCells ( int row, int column, int numRows, int numCols )
Merges the cell at the specified row and column with the adjacent cells into one cell. The new cell will span numRows rows and numCols columns. If numRows or numCols is less than the current number of rows or columns the cell spans then this method does nothing.
This function was introduced in Qt 4.1.
void QTextTable::mergeCells ( const QTextCursor & cursor )
This is an overloaded member function, provided for convenience.
Merges the cells selected by the provided cursor.
This function was introduced in Qt 4.1.
void QTextTable::removeColumns ( int index, int columns )
Removes a number of columns starting with the column at the specified index.
See also insertRows(), insertColumns(), removeRows(), and resize().
void QTextTable::removeRows ( int index, int rows )
Removes a number of rows starting with the row at the specified index.
See also insertRows(), insertColumns(), resize(), and removeColumns().
void QTextTable::resize ( int rows, int columns )
Resizes the table to contain the required number of rows and columns.
See also insertRows(), insertColumns(), removeRows(), and removeColumns().
QTextCursor QTextTable::rowEnd ( const QTextCursor & cursor ) const
Returns a cursor pointing to the end of the row that contains the given cursor.
See also rowStart().
QTextCursor QTextTable::rowStart ( const QTextCursor & cursor ) const
Returns a cursor pointing to the start of the row that contains the given cursor.
See also rowEnd().
int QTextTable::rows () const
Returns the number of rows in the table.
See also columns().
void QTextTable::setFormat ( const QTextTableFormat & format )
Sets the table's format.
See also format().
void QTextTable::splitCell ( int row, int column, int numRows, int numCols )
Splits the specfied cell at row and column into an array of multiple cells with dimensions specified by numRows and numCols.
This function was introduced in Qt 4.1.