在 QTextEdit 底部对齐文本

Vix*_*inG 2 python qt pyqt text-alignment qtextedit

我有一个QWidget电话sideQTextEdit里面有它的sideLayout布局。

chatView = QTextEdit()
chatView.setHtml('<p style="margin: 0px; line-height: 28px;">')
sideLayout.addWidget(tab.chatView, 0, 0, 1, 1)
Run Code Online (Sandbox Code Playgroud)

在下面QTextEdit有一个QLineEdit调用inputLine,我在那里写文本并将它发送到QTextEdit通过.append(inputLine.text())on Return

我希望每个新行(<p>元素)出现在底部,并且每个新行都附加在第一个下面。

这是它现在的样子:

文字未与底部对齐

我试过setStylesheet()p { vertical-align: bottom; }
我想p { position: absolute; bottom: 0px; }
我试过setAlignment()Qt.AlignBottom

如何使线条像这样与底部对齐?

所需对齐

ekh*_*oro 5

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

self.chatView = QtGui.QLabel(self)
self.chatView..setAlignment(QtCore.Qt.AlignLeft | QtCore.Qt.AlignBottom)
Run Code Online (Sandbox Code Playgroud)

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

self.chatView.setText(
    '%s<p>%s</p>'
    % (self.chatView.text(), self.inputLine.text()))
Run Code Online (Sandbox Code Playgroud)

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