我正在使用 qt 框架开发应用程序,现在我想将表格数据保存为 pdf。我正在使用 QTextTable 和 QTextDocument 类。但是我不能在单元格中居中文本。我该怎么做?
感谢帮助。
最佳答案
如果要在插入文本时进行对齐,可以使用alignment = Qt:AlignHCenter 调用此函数。您可以修改该函数以指定字符格式。
// Insert text with specified alignment in specified cell
void insertAlignedText(QTextTable *table, int row, int col, Qt::Alignment alignment, QString text)
{
// Obtain cursor and current block format
QTextCursor textCursor = table->cellAt(row,col).firstCursorPosition();
QTextBlockFormat blockFormat = textCursor.blockFormat();
// Read vertical part of current alignment flags
Qt::Alignment vertAlign = blockFormat.alignment() & Qt::AlignVertical_Mask;
// Mask out vertical part of specified alignment flags
Qt::Alignment horzAlign = alignment & Qt::AlignHorizontal_Mask;
// Combine current vertical and specified horizontal alignment
Qt::Alignment combAlign = horzAlign | vertAlign;
// Apply and write
blockFormat.setAlignment(combAlign);
textCursor.setBlockFormat(blockFormat);
textCursor.insertText(text);
}
关于c++ - 如何在 QTextTable 中居中文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5187484/