QTextTable Class
QTextTable クラスは、QTextDocument 内の表を表します。詳細...
| ヘッダー: | #include <QTextTable> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
| 継承元: | QTextFrame |
- 継承されたメンバーを含むすべてのメンバーの一覧
- QTextTable は、リッチテキスト処理 API の一部です。
注:このクラスのすべての関数は再入可能です。
パブリック関数
| 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) |
詳細な説明
テーブルとは、行と列に整列されたセルのグループのことです。各テーブルには、少なくとも 1 行と 1 列が含まれます。各セルはブロックを含み、フレームで囲まれています。
通常、テーブルはQTextCursor::insertTable()関数を使用して作成され、ドキュメントに挿入されます。たとえば、次のコード行を使用して、エディタの現在のカーソル位置に3行2列のテーブルを挿入することができます。
QTextCursor cursor(editor->textCursor());
cursor.movePosition(QTextCursor::Start);
QTextTable *table = cursor.insertTable(rows, columns, tableFormat);表の書式は、表の作成時に定義するか、後で `setFormat()` を使用して変更します。
カーソルで現在編集中のテーブルは、QTextCursor::currentTable() を使用して特定できます。これにより、ドキュメントに挿入された後でも、その書式やサイズを変更することが可能です。
テーブルのサイズは、resize() を使用するか、insertRows()、insertColumns()、removeRows()、またはremoveColumns() を使用して変更できます。テーブルのセルを取得するには、cellAt() を使用します。
テーブル行の開始位置と終了位置は、テーブル内でカーソルを移動させ、rowStart() およびrowEnd() 関数を使用して各行の先頭と末尾のカーソルを取得することで確認できます。
QTextTable 内の行と列は、mergeCells() およびsplitCell() 関数を使用して結合または分割できます。ただし、分割できるのは、複数の行または列にまたがるセルのみです。(結合や分割を行っても、行数や列数は増減しません。)
なお、複数の列や行を1つのセルに結合した場合、その結合されたセルを、1行または1列以上にまたがる新しいセルに分割することはできません。複数の行や列にまたがるセルを分割するには、数回の反復処理を行う必要があります。
![]() | 名前と住所が記載された2×3の表があるとします。1行目の両列を結合するには、row =0、column =0、numRows =1、numColumns =2を指定してmergeCells()を呼び出します。 |
![]() | これにより、次の表が得られます。この表の最初の行を再び2つのセルに分割するには、numRows およびnumCols = 1 を指定してsplitCell() 関数を呼び出します。 |
![]() | これにより、元の表が得られます。 |
「QTextTableFormat」も参照してください 。
メンバ関数のドキュメント
void QTextTable::appendColumns(int count)
テーブルの右側に「count 」列を追加します。
insertColumns()、insertRows()、resize()、removeRows()、removeColumns()、およびappendRows()も参照してください 。
void QTextTable::appendRows(int count)
count の行をテーブルの末尾に追加します。
insertColumns()、insertRows()、resize()、removeRows()、removeColumns()、およびappendColumns()も参照してください 。
QTextTableCell QTextTable::cellAt(int row, int column) const
テーブル内の指定されたrow およびcolumn にあるテーブルセルを返します。
columns() およびrows()も参照してください 。
QTextTableCell QTextTable::cellAt(const QTextCursor &cursor) const
指定されたcursor を含むテーブルセルを返します。
これはオーバーロードされた関数です。
QTextTableCell QTextTable::cellAt(int position) const
ドキュメント内の指定されたposition にある文字を含むテーブルセルを返します。
これはオーバーロードされた関数です。
int QTextTable::columns() const
テーブルの列数を返します。
rows()も参照してください 。
QTextTableFormat QTextTable::format() const
テーブルのフォーマットを返します。
setFormat()も参照してください 。
void QTextTable::insertColumns(int index, int columns)
指定されたindex を持つ列の前に、columns を複数挿入します。
insertRows()、resize()、removeRows()、removeColumns()、appendRows()、およびappendColumns()も参照してください 。
void QTextTable::insertRows(int index, int rows)
指定されたindex を持つ行の前に、rows を複数挿入します。
resize()、insertColumns()、removeRows()、removeColumns()、appendRows()、およびappendColumns()も参照してください 。
void QTextTable::mergeCells(int row, int column, int numRows, int numCols)
指定されたrow およびcolumn のセルを、隣接するセルと結合して1つのセルにします。新しいセルは、numRows 行とnumCols 列にまたがります。numRows またはnumCols が、そのセルが現在またがっている行数または列数よりも少ない場合、このメソッドは何も実行しません。
splitCell()も参照してください 。
void QTextTable::mergeCells(const QTextCursor &cursor)
指定されたcursor で選択されたセルを結合します。
これはオーバーロードされた関数です。
splitCell()も参照してください 。
void QTextTable::removeColumns(int index, int columns)
指定されたindex の列から始まる、columns をいくつか削除します。
insertRows()、insertColumns()、removeRows()、resize()、appendRows()、およびappendColumns()も参照してください 。
void QTextTable::removeRows(int index, int rows)
指定されたindex の行から始まる、rows をいくつか削除します。
insertRows()、insertColumns()、resize()、removeColumns()、appendRows()、およびappendColumns()も参照してください 。
void QTextTable::resize(int rows, int columns)
テーブルのサイズを変更し、必要な数のrows およびcolumns を収めるようにします。
insertRows()、insertColumns()、removeRows()、およびremoveColumns()も参照してください 。
QTextCursor QTextTable::rowEnd(const QTextCursor &cursor) const
指定されたcursor を含む行の末尾を指すカーソルを返します。
rowStart()も参照してください 。
QTextCursor QTextTable::rowStart(const QTextCursor &cursor) const
指定されたcursor を含む行の先頭を指すカーソルを返します。
rowEnd()も参照してください 。
int QTextTable::rows() const
テーブルの行数を返します。
columns()も参照してください 。
void QTextTable::setFormat(const QTextTableFormat &format)
テーブルのformat を設定します。
format()も参照してください 。
void QTextTable::splitCell(int row, int column, int numRows, int numCols)
row およびcolumn で指定されたセルを、numRows およびnumCols で指定された次元を持つ複数のセルの配列に分割します。
注: mergeCells() を使用して結合された行など、複数の行または列にまたがるセルのみを分割することができます 。
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.

