PyQt5随笔:QTextEdit和QTextBrowser文本框多次设置输入内容时,显示全部内容的方法

PyQt5随笔:QTextEdit和QTextBrowser文本框多次设置输入内容时,显示全部内容的方法

1.前言

QTextEdit 和 QTextBrowser 文本控件方法基本一样,只不过 QTextEdit 可以程序读写用户进行输入两个操作。QTextBrowser 只能进行程序读写,用户不能输入,适合用来显示多行文本。

在使用setPlainText()setText()设置QTextEdit 和 QTextBrowser 文本框内容时,后一次设置的内容会覆盖前一次的设置内容。

例子:

self.textEdit.setPlainText('第一次输入内容')
self.textEdit.setPlainText('第二次输入内容')

结果:

PyQt5随笔:QTextEdit和QTextBrowser文本框多次设置输入内容时,显示全部内容的方法_第1张图片

如结果,只显示了第二次输入的内容。不符合我们的设想。

2.【append()】函数

从 append 的单词意思(添加)就可以可以知道append()是在文本后面再添加文本。即实现了连续输入内容全部显示。

测试代码:

def show_text(self):
    a = '*'
    for i in range(1,50):
        text = '第' + str(i) + '次输入内容' + a * i + '\n'
        self.textEdit.append(text)

在点击开始显示后显示49条语句如下图:

他的滑动条是在底部的,显示最新的输出文本,很符合我们的使用习惯。

PyQt5随笔:QTextEdit和QTextBrowser文本框多次设置输入内容时,显示全部内容的方法_第2张图片

为了显示好看,可以在每次输入内容时加一个换行符 '\n'

3.【insertPlainText()】函数

通过insertPlainText()设置的内容可以保留,即也实现了连续输入内容全部显示。

测试代码:


    def show_text(self):
        a = '*'
        for i in range(1,50):
            text = '第' + str(i) + '次输入内容' + a * i + '\n'
            self.textEdit.insertPlainText(text)

在点击开始显示后显示49条语句如下图:

他的滑动条是在上面的没有显示最新的输出文本。

PyQt5随笔:QTextEdit和QTextBrowser文本框多次设置输入内容时,显示全部内容的方法_第3张图片


完整测试源代码




你可能感兴趣的:(PyQt5随笔,pyqt)