QTextEdit纯文本设置setPlainText()和insertPlainText()、富文本设置setHtml()和insertHtml()和占位文本
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还有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的时候直接设置文本,在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文本内容设置和占位文本填充,还包括构造方法。