QTextCursor,QTextTable和默认左边距

时间:2015-07-30 13:11:04

标签: qt

我生成了一个qtextdocument来打印它。在我的文档中,我插入了一个QTextTable。

我的问题是默认情况下表格左边距,我找不到如何删除它。

结果示例:

Some text
     table row 1
     table row 2

我需要的结果:

Some text
table row 1
table row 2

我的代码:

QTextDocument textDocument;
QTextCursor cursor(&textDocument);


cursor.insertText("Some text");

QTextTableFormat tableFormat;
tableFormat.setCellPadding(5);
tableFormat.setHeaderRowCount(2);
tableFormat.setAlignment(Qt::AlignCenter);
tableFormat.setTopMargin(10);
tableFormat.setPadding(0);
tableFormat.setBorderStyle(QTextFrameFormat::BorderStyle_Solid);
tableFormat.setBorderBrush(QBrush(Qt::black, Qt::SolidPattern));
tableFormat.setWidth(QTextLength(QTextLength::PercentageLength, 100));
tableFormat.setCellSpacing(0);
tableFormat.setLeftMargin(0);
QTextTable *table = cursor.insertTable(2, 11, tableFormat);

如果你能帮助我,谢谢你;)

1 个答案:

答案 0 :(得分:1)

此行需要更改:

tableFormat.setAlignment(Qt::AlignCenter);

tableFormat.setAlignment(Qt::AlignLeft);

或完全退出setAlignment

表格或表格的宽度需要设置为其所在容器的100%。

希望有所帮助。