我生成了一个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);
如果你能帮助我,谢谢你;)
答案 0 :(得分:1)
此行需要更改:
tableFormat.setAlignment(Qt::AlignCenter);
到
tableFormat.setAlignment(Qt::AlignLeft);
或完全退出setAlignment
。
表格或表格的宽度需要设置为其所在容器的100%。
希望有所帮助。