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 属于“富文本处理 API”和“隐式共享类”的一部分。
注意:本类中的所有函数均为可重入的。
公共函数
| 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 ` 属性渲染一个 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.