Python GUI编程网 > PyQt5控件_PyQt5控件方法大全 > QTextEdit纯文本设置setPlainText()和insertPlainText()、富文本设置setHtml()和insertHtml()和占位文本
python教程

QTextEdit纯文本设置setPlainText()和insertPlainText()、富文本设置setHtml()和insertHtml()和占位文本

发布博客:2022年12月6日 17:38
阅读:338
作者:Python GUI编程网

QTextEdit是QAbstractScrollArea的一个子类同时继承QAbstractScrollArea的所有方法,QTextEdit也有很多自己的方法,作为文本控件QTextEdit首先要了解的就是文本处理,本章先学习QTextEdit文本内容设置和占位文本填充两个方面的内容。

QTextEdit是QAbstractScrollArea的一个子类同时继承QAbstractScrollArea的所有方法,QTextEdit也有很多自己的方法,作为文本控件QTextEdit首先要了解的就是文本处理,本章先学习QTextEdit文本内容设置和占位文本填充两个方面的内容。

一、QTextEdit构造方法

class QTextEdit(QAbstractScrollArea):
     """
     QTextEdit(parent: QWidget = None)
     QTextEdit(str, parent: QWidget = None)
     """

从上面的文档可以看出来QTextEdit是QAbstractScrollArea的一个子类,同时QTextEdit可传参数和很多空间一样,一个控件提示文本和一个上级控件。

def func(self):
     self.qte = QTextEdit('QTextEdit构造', self)
     self.qte.move(100, 100)
     self.qte.resize(250, 250)
     self.qte.setStyleSheet('background-color:green')


二、QTextEdit文本内容设置

QTextEdit文本内容设置包括普通文本也就是我们所说的纯文本,还有就是富文本设置。

1.纯文本设置

纯文本设置在前面的构造中已经讲解了,直接通过对象参数进行添加,如:

def func(self):
     self.qte = QTextEdit('大家好,我是“村长”,Python GUI编程网的博主,因工作原因经常使用pyqt5开发一些小工具,多年界面开发经验让我对桌面软件开发有自己的一套理解,于是2020年10月份心血来潮创建了这个博客,一是为了分享一些界面程序开发教程,其次也是个人的兴趣所在。网址 www.bl186.net。', self)

QTextEdit

但是这里有个坑,在后面富文本中会补充。除此之外QTextEdit还有2个方法可以插入纯文本内容,分别是setPlainText()和insertPlainText(),这两者之间的区别是insertPlainText()是插入,不会覆盖之前的文本内容。

def func(self):
     self.qte = QTextEdit('QTextEdit构造', self)
     self.qte.setPlainText('<h1>PyQt5中文网</h1>')
     self.qte.insertPlainText('<h1>QTextEdit</h1>')

从上面的结果会发现,即使插入HTML代码也是以纯文本的形式显示的。

2.富文本设置

富文本设置方法有setHtml()和insertHtml()和上面的纯文本对应,一个是直接设置一个是在原文本前插入富文本内容。

def func(self):
    self.qte = QTextEdit('QTextEdit构造', self)
     self.qte.setHtml('<h1>AAAAA</h1>')   # 插入富文本
     self.qte.insertHtml('<h1>AAAAA</h1>')

QTextEdit

前面我们在构造QTextEdit的时候直接设置文本,在PyQt中还可以通过setText()方法来单独设置,前文直接传入一段纯文本,但是setText()是遇到富文本的时候会自动识别并显示出来。

def func(self):
     # self.qte = QTextEdit('QTextEdit构造', self)
     self.qte = QTextEdit('<h1>构造时传入富文本</h1>', self)
     self.qte.setText('<h1>使用方法来自动识别富文本</h1>')  # 遇到富文本格式自动渲染

三、QTextEdit占位文本填充

在前面的单行文本框中也提到过占位文本,QTextEdit也是一样,通过方法setPlaceholderText()来设置。

def place_hold(self):
     self.qte.setPlaceholderText('在这里输入文本内容')

以上内容就是PyQt5多行文本框控件QTextEdit文本内容设置和占位文本填充,还包括构造方法。