对齐QTextEdit底部的文本

时间:2015-10-11 15:04:36

标签: python qt pyqt text-alignment qtextedit

我在QWidget布局中有一个名为sideQTextEdit的{​​{1}}。

sideLayout

chatView = QTextEdit() chatView.setHtml('<p style="margin: 0px; line-height: 28px;">') sideLayout.addWidget(tab.chatView, 0, 0, 1, 1) 下面有一个名为QTextEdit的{​​{1}},我在其中撰写文字并通过QLineEdit上的inputLine发送给QTextEdit

我希望每个新行(.append(inputLine.text())元素)显示在底部,每个新行都附加在第一行之后。

现在的样子:

Text not aligned to bottom

我使用Return尝试了<p> 我试过了setStylesheet()
我使用p { vertical-align: bottom; }尝试p { position: absolute; bottom: 0px; }

如何将线条对齐到底部?

Desired alignment

1 个答案:

答案 0 :(得分:4)

如果聊天视图是只读的,则不需要进行文本编辑。只需使用QLabel,然后setAligment将按预期工作:

self.chatView = QtGui.QLabel(self)
self.chatView..setAlignment(QtCore.Qt.AlignLeft | QtCore.Qt.AlignBottom)

要附加文字,您可以执行以下操作:

self.chatView.setText(
    '%s<p>%s</p>'
    % (self.chatView.text(), self.inputLine.text()))

(PS:您可能还需要将标签放在QScrollArea)。