如何将 QTextEdit 中的每一行居中?

How to center every line in a QTextEdit?

我正在使用 PyQt5。

我制作了一个 QTextEdit 并输入了以下代码:

self.descriptionText.setPlainText("First Line\nSecond Line\nThird Line")
self.descriptionText.setAlignment(Qt.AlignCenter)

但这是结果:

如何让每一行居中?

如果您希望每一行都居中,请先设置对齐方式,然后插入文本:

self.descriptionText.setAlignment(Qt.AlignCenter)
self.descriptionText.insertPlainText("First Line\nSecond Line\nThird Line")

您的示例未按预期工作的原因是 setPlainText method clears the current aligment, and the setAlignment 方法仅更改 当前段落的对齐方式 。重置文本后,第一段将是唯一被选中的段落(因为这是光标移动到的位置),因此对齐将仅应用于第一行。鉴于此,另一种修复示例的方法是:

self.descriptionText.setPlainText("First Line\nSecond Line\nThird Line")
self.descriptionText.selectAll()
self.descriptionText.setAlignment(Qt.AlignCenter)