QTextTable Class

QTextTableクラスは、QTextDocument のテーブルを表します

ヘッダー #include <QTextTable>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
継承: QTextFrame

注意:このクラスの関数はすべてリエントラントです。

パブリック関数

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つのセルに分割し直すには、numRowsnumCols = 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)

指定されたrowcolumn にあるセルを、隣接するセルと 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.