【问题标题】:Aligning text on bottom of the QTextEdit对齐 QTextEdit 底部的文本
【发布时间】:2015-10-12 02:44:12
【问题描述】:

我有一个名为 sideQWidgetQTextEdit 在它的 sideLayout 布局内。

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

QTextEdit 下方有一个名为inputLineQLineEdit,我在其中编写文本并将其通过.append(inputLine.text()) 发送到QTextEdit Return

我希望每个新行(&lt;p&gt; 元素)出现在底部,并且每个新行都附加在第一行下方。

这就是现在的样子:

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

我怎样才能让线条像这样与底部对齐?

【问题讨论】:

    标签: python qt pyqt text-alignment qtextedit


    【解决方案1】:

    如果聊天视图将是只读的,则您实际上不需要文本编辑。只需使用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)。

    【讨论】:

    • 哦,是的,我没有想到这一点。我明天试试,然后报告。我知道QLabel 支持富文本和html。
    猜你喜欢
    • 1970-01-01
    • 2013-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-08
    • 2013-06-11
    • 2012-01-14
    相关资源
    最近更新 更多