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)

详细说明

表格是一组按行和列排序的单元格。每个表格至少包含一行和一列。每个单元格包含一个块。富文本文档中的表格使用该类中定义的属性进行格式化。

根据表格的对齐方式,表格在其父框架内水平对齐。这可以通过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 属性渲染一个一像素实心的表格内网格,并渲染指定的外边框
  • QTextTableCellFormat 的各种边框样式属性可用于自定义网格,并优先于表格的边框和网格
  • cellSpacing 属性将被忽略
  • 用于打印分页:
    • 页面上继续显示的列将不会显示其顶部单元格边框
    • 重复的标题行将始终显示其单元格下边框

borderCollapse 设置为false 时,仍可使用QTextTableCellFormat 对单元格边框进行样式设置,但样式设置将仅应用于单元格的框架内,这在实际应用中可能不太有用。

注: 在 6.8 之前的 Qt 版本中,默认值为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()。

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