目录
一、QTextEdit的几种常用用法
方法 | 描述 |
---|---|
setPlainText() | 设置多行文本框的文本内容 |
toPlainText() | 返回多行文本框的文本内容 |
setHtml() | 设置多行文本框的内容为HTML文档 |
toHtml() | 返回多行文本框的HTML文档内容 |
clear() | 清除多行文本框的内容 |
二、对获取的内容进行处理
首先是获取多文本框的内容
input=bjwbk.toPlainText() #bjwbk对应的是多行文本框的对象名称
如果是与事件进行绑定,并且是放在类中,有些时候会需要在bjwbk(即QTextEdit的对象名称)前面加self。此时获取到的内容是属于字符串,即input现在的类型是str。如果是多行的内容,可以将其转换成列表或者字典等进行操作。
下面我举一个升序和降序的例子(也可对字母进行排序,不过需要将sort函数中属性进行修改)
import sys
from mainwindow import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
class Function(QMainWindow,Ui_MainWindow):
def __init__(self):
super(Function,self).__init__()
self.setupUi(self)
self.show()
self.pushButton_2.clicked.connect(self.Sortup) #对应按键与事件绑定
self.pushButton_3.clicked.connect(self.Sortdown)
def Sortup(self):
input=self.bjwbk.toPlainText() #bjwbk对应的是多行文本框的对象名称
self.bjwbk.clear() #只有一个多文本框,更新的数据也在这,所以要清屏操作
a=input.split() #删除换行符,转换成列表
a.sort() #进行升序操作
self.bjwbk.setPlainText("\n".join(a)) #对升序操作后的列表,使用join()函数,用换行符拼接起来
def Sortdown(self):
input = self.bjwbk.toPlainText()
self.bjwbk.clear()
a = input.split()
a.sort(reverse=True) #进行降序操作
self.bjwbk.setPlainText("\n".join(a))
if __name__=='__main__':
app=QApplication(sys.argv)
fu=Function()
sys.exit(app.exec_())
下面看下实现的效果图:
原数据:85 96 25 63 84 21
升序后:21 25 63 84 85 96
降序后:96 85 84 63 25 21
同时多文本框还可用于html内容操作
可以参考这段代码
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import QRegExp,Qt
class Win(QWidget):
def __init__(self):
super().__init__()
self.setGeometry(200, 200, 400, 400)
self.setWindowTitle('QTextEdit的使用')
self.text = QTextEdit()
self.btn1 = QPushButton('显示文本')
self.btn2 = QPushButton('显示HTML')
layout = QVBoxLayout()
layout.addWidget(self.text)
layout.addWidget(self.btn1)
layout.addWidget(self.btn2)
self.setLayout(layout)
self.btn1.clicked.connect(self.click1)
self.btn2.clicked.connect(self.click2)
def click1(self):
self.text.setPlainText("Hello")
def click2(self):
self.text.setHtml("<font color='red' size='9'>Hello</font>")
if __name__ == "__main__":
app = QApplication(sys.argv)
form = Win()
form.show()
sys.exit(app.exec_())
运行的效果图