このページでは

QTextTableFormat Class

QTextTableFormat クラスは、QTextDocument 内の表の書式設定情報を提供します。詳細...

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

注:このクラスのすべての関数は再入可能です。

パブリック関数

QTextTableFormat()
Qt::Alignment alignment() const
bool borderCollapse() const
qreal cellPadding() const
qreal cellSpacing() const
void clearColumnWidthConstraints()
QList<QTextLength> columnWidthConstraints() const
int columns() const
int headerRowCount() const
bool isValid() const
void setAlignment(Qt::Alignment alignment)
void setBorderCollapse(bool borderCollapse)
void setCellPadding(qreal padding)
void setCellSpacing(qreal spacing)
void setColumnWidthConstraints(const QList<QTextLength> &constraints)
void setHeaderRowCount(int count)

詳細な説明

テーブルとは、行と列に整列されたセルのグループのことです。各テーブルには、少なくとも 1 行と 1 列が含まれます。各セルにはブロックが含まれます。リッチテキスト文書内のテーブルは、このクラスで定義されているプロパティを使用して書式設定されます。

テーブルは、その配置設定に従って、親フレーム内で水平方向に揃えられます。これは、alignment() 関数で読み取り、setAlignment() で設定できます。

テーブル内のセルは、セル間隔によって区切られています。セル間のピクセル数は、setCellSpacing() で設定し、cellSpacing() で取得します。各セルの内容は、セルパディングで囲まれています。各セルの端とその内容との間のピクセル数は、setCellPadding() で設定し、cellPadding() で取得します。

セルの内容を含む矩形の周囲に、セル間隔とパディングがどのように配置されるかを示した図。

テーブルの背景色は、background() 関数で読み取ることができ、setBackground() で指定できます。各セルの背景色は個別に設定可能であり、パディング領域内のセルの色を制御します。

また、このテーブル形式では、テーブル内の列の幅を制限する方法も提供されています。列には、固定幅、可変幅、または利用可能な幅に対する割合を割り当てることができます(QTextLength を参照)。columns() 関数は、制約が設定されている列の数を返し、columnWidthConstraints() 関数は、テーブルに対して定義された制約を返します。これらの設定は、新しい制約を含むリストを引数としてsetColumnWidthConstraints() を呼び出すことでも設定できます。制約が不要な場合は、clearColumnWidthConstraints() を使用して制約を解除できます。

関連項目: QTextTable 、QTextTableCell 、およびQTextLength 。

メンバ関数のドキュメント

QTextTableFormat::QTextTableFormat()

新しいテーブル形式オブジェクトを作成します。

Qt::Alignment QTextTableFormat::alignment() const

テーブルの配置情報を返します。

setAlignment()も参照してください 。

bool QTextTableFormat::borderCollapse() const

テーブルの境界線を折りたたむ場合は、true を返します。デフォルトはtrue です。

setBorderCollapse()も参照してください 。

qreal QTextTableFormat::cellPadding() const

テーブルのセルのパディングを返します。これは、セルの境界線とその内容との間の距離を表します。

setCellPadding()も参照してください 。

qreal QTextTableFormat::cellSpacing() const

テーブルのセル間隔を返します。これは、隣接するセル間の距離を表します。

setCellSpacing()も参照してください 。

void QTextTableFormat::clearColumnWidthConstraints()

テーブルの列幅の制約を解除します。

columnWidthConstraints() およびsetColumnWidthConstraints()も参照してください 。

QList<QTextLength> QTextTableFormat::columnWidthConstraints() const

このテーブル形式で、テーブル内の列の外観を制御するために使用される制約のリストを返します。

setColumnWidthConstraints()も参照してください 。

int QTextTableFormat::columns() const

テーブル形式で指定された列の数を返します。

int QTextTableFormat::headerRowCount() const

ヘッダーを定義するテーブル内の行数を返します。

「setHeaderRowCount()」も参照してください 。

bool QTextTableFormat::isValid() const

このテーブル形式が有効な場合は `true ` を返し、そうでない場合は `false` を返します。

void QTextTableFormat::setAlignment(Qt::Alignment alignment)

テーブルのalignment を設定します。

alignment()も参照してください 。

void QTextTableFormat::setBorderCollapse(bool borderCollapse)

デフォルトでは、borderCollapse() はtrue であり、これには次のような意味があります:

  • テーブルの境界線とグリッドは、CSSのテーブルborder-collapse:collapse ルールに従ってレンダリングされます
  • border プロパティを最小値の1 に設定すると、borderBrush プロパティを使用して1ピクセルの実線の内部テーブルグリッドがレンダリングされ、外側の境界線は指定どおりに表示されます
  • QTextTableCellFormat の各種ボーダースタイルプロパティを使用してグリッドをカスタマイズすることができ、これらはテーブルのボーダーやグリッドよりも優先されます
  • cellSpacing プロパティは無視されます
  • 印刷時のページ分割について:
    • ページをまたいで続く列については、上部のセル境界線は描画されません
    • 繰り返しヘッダー行では、常にセルの下部境界線が描画されます

borderCollapse を `false` に設定した場合でも、QTextTableCellFormat を使用してセルの境界線にスタイルを適用することは可能ですが、スタイルはセルの枠内でのみ適用されるため、実際にはあまり有用ではないでしょう。

注: Qt 6.8 以前のバージョンでは 、デフォルト値は `false` でした。

関連項目: borderCollapse()、setBorder()、setBorderBrush()、setBorderStyle()、およびQTextTableCellFormat 。

void QTextTableFormat::setCellPadding(qreal padding)

テーブルのセルpadding を設定します。これにより、セルの枠線とその内容との間の距離が決まります。

cellPadding()も参照してください 。

void QTextTableFormat::setCellSpacing(qreal spacing)

テーブルのセル間隔(spacing )を設定します。これにより、隣接するセル間の距離が決まります。

borderCollapse が有効になっている場合、このプロパティは無視されます。

「cellSpacing()」も参照してください 。

void QTextTableFormat::setColumnWidthConstraints(const QList<QTextLength> &constraints)

テーブルの列幅「constraints 」を設定します。

columnWidthConstraints() およびclearColumnWidthConstraints()も参照してください 。

void QTextTableFormat::setHeaderRowCount(int count)

テーブルの最初のcount 行をテーブルヘッダーとして指定します。テーブルがページ境界をまたいで分割される場合、テーブルヘッダー行は繰り返し表示されます。

headerRowCount()も参照してください 。

© 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.