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 はRich Text Processing 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つのセルにマージした場合、マージしたセルを複数の行や列にまたがる新しいセルに分割することはできないので注意。複数の行や列にまたがるセルを分割できるようにするには、何度か繰り返す必要がある。
![]() | 名前と住所の2x3の表があるとする。最初の行の両列をマージするために、row = 0,column = 0,numRows = 1,numColumns = 2 としてmergeCells() を呼び出す。table->mergeCells(0, 0, 1, 2); |
![]() | これで以下の表ができる。表の最初の行を2つのセルに分割し直すには、numRows とnumCols = 1 を指定してsplitCell() 関数を呼び出す。table->splitCell(0, 0, 1, 1); |
![]() | この結果、元の表が得られる。 |
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 にあるテーブルセルを返します。
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()も参照のこと 。
© 2025 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.