QTextTable Class
QTextTableクラスは、QTextDocument... 詳細
Header: | #include <QTextTable> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
Inherits: | 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つのセルにマージした場合、マージしたセルを複数の行や列にまたがる新しいセルに分割することはできないので注意。複数の行や列にまたがるセルを分割できるようにするには、何度か繰り返す必要がある。
元のテーブル | 名前と住所の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 にある表のセルを返します。
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()も参照してください 。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。