QTextEdit
前言
QTextEdit类是一个多行文本框控件,可以显示多行文本内容,当文本内容超出控件显示范围时,可以显示水平个垂直滚动条,Qtextedit不仅可以用来显示文本还可以用来显示HTML文档
QTextEdit类中常用的方法
方法 描述
setPlainText() 设置多行文本框的内容
toPlainText() 返回多行文本框的文本内容
setHtml() 设置多行文本框的文本内容为HTML文档,HTML文档是描述网页的
toHtml() 返回多行文本框的HTML内容
clear() 清除多行文本框的内容
内容不多,就一个实例
实例:QTextEdit的使用
from PyQt5.QtWidgets import QApplication,QWidget,QTextEdit,QVBoxLayout,QPushButton
import sys
class TextEditDemo(QWidget):
def __init__(self,parent=None):
super(TextEditDemo, self).__init__(parent)
self.setWindowTitle('QTextEdit 例子')
#定义窗口的初始大小
self.resize(300,270)
#创建多行文本框
self.textEdit=QTextEdit()
#创建两个按钮
self.btnPress1=QPushButton('显示文本')
self.btnPress2=QPushButton('显示HTML')
#实例化垂直布局
layout=QVBoxLayout()
#相关控件添加到垂直布局中
layout.addWidget(self.textEdit)
layout.addWidget(self.btnPress1)
layout.addWidget(self.btnPress2)
#设置布局
self.setLayout(layout)
#将按钮的点击信号与相关的槽函数进行绑定,点击即触发
self.btnPress1.clicked.connect(self.btnPress1_clicked)
self.btnPress2.clicked.connect(self.btnPress2_clicked)
def btnPress1_clicked(self):
#以文本的形式输出到多行文本框
self.textEdit.setPlainText('Hello PyQt5!\n单击按钮')
def btnPress2_clicked(self):
#以Html的格式输出多行文本框,字体红色,字号6号
self.textEdit.setHtml("<font color='red' size='6'><red>Hello PyQt5!\n单击按钮。</font>")
if __name__ == '__main__':
app=QApplication(sys.argv)
win=TextEditDemo()
win.show()
sys.exit(app.exec_())
效果如下
初始显示效果
点击显示文本后
点击显示HTML后
————————————————
1.定义一个textEdit/lineEdit:(lineEdit只需要将代码中的QTextEdit改为QLineEdit)
self.textEdit = QtWidgets.QTextEdit(Dialog)
self.textEdit.setGeometry(QtCore.QRect(70, 90, 171, 391))
self.textEdit.setObjectName("textEdit")
self.textEdit.setReadOnly(True)#设置为只读,即可以在代码中向textEdit里面输入,但不能从界面上输入,没有这行代码即可以从界面输入
2.从代码中将字符串显示到textEdit:
str='要显示的字符串'
self.textEdit.setText(str)
3.追加字符串:
str='要显示的字符串'
self.textEdit_2.append(str)
4.显示数字到textEdit:数字必须要转换成字符串
count=10
str=str(count)
self.textEdit.setText(str)
5.读取textEdit中的文字:textEdit和LineEdit中的文字读取方法是不一样的
str1 = self.textEdit.toPlainText()
#用toPlainText()方法