6.8 QTextEdit多行文本输入框-文本操作


一、QTextEdit多行文本输入框-文本操作

1.基本知识

  • QTextEdit的内容比较多,我们这节课先介绍一下多行文本输入框的文本操作方法,主要讲解普通文本和富文本的设置方法,还有追加文本和清空文本的API方法。
  • 占位提示文本
self.qte.setPlaceholderText('在这里输入文本内容')
  • 内容设置
#文本初始设置
self.qte.setPlainText('

AAAAA

') #纯文本 self.qte.setHtml('

AAAAA

') # 插入富文本,网页形式 #文本插入 self.qte.insertPlainText('

AAAAA

') # 这个方法不会清空原有的setText()中的文本内容,文本会放在前面 self.qte.insertHtml('

AAAAA

') #文本获取 print(self.qte.toPlainText()) # 获取 print(self.qte.toHtml()) # 会输出整个HTML网页完整模板代码

2. 代码

from PyQt5.Qt import *
import sys

'''
占位提示文本:
setPlaceholderText()   placeholderText() 
'''


class Window(QWidget) :
    def __init__(self) :
        super().__init__()
        self.setWindowTitle("QTextEdit - PyQt5中文网")
        self.resize(600, 500)
        self.func_list()

    def func_list(self) :
        self.func()
        self.place_hold()
        self.text_set()

    def func(self) :
        self.qte = QTextEdit('多行文本框', self) #默认字符串 创建
        self.qte.move(100, 100)
        self.qte.resize(250, 250)
        self.qte.setStyleSheet('background-color:green')
        self.qte.setFrameStyle(QFrame.Box | QFrame.Raised)
        self.qte.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn)
        self.qte.setHorizontalScrollBarPolicy(Qt.ScrollBarAsNeeded)

        self.btn = QPushButton('按  钮', self)
        self.btn.move(120, 50)
        self.btn.resize(70, 30)
        self.btn.pressed.connect(self.add_clear) #点击按钮插入文本或者清空文本

    # ==============占位提示文本=============== # 代码分割线 - 开始
    def place_hold(self):
            self.qte.setPlaceholderText('在这里输入文本内容')

    # ==============内容设置=============== # 代码分割线 - 开始
    # 普通文本和富文本
    def text_set(self) :
        # self.qte.setPlainText('

AAAAA

') # self.qte.insertPlainText('

AAAAA

') # 这个方法不会清空原有的setText()中的文本内容,文本会放在前面 # print(self.qte.toPlainText()) # 获取 # self.qte.setHtml('

AAAAA

') # 插入富文本 # self.qte.insertHtml('

AAAAA

') # print(self.qte.toHtml()) # 会输出整个HTML网页完整模板代码 self.qte.setText('

AAAAA

') # 遇到富文本格式自动渲染 # 追加文本和清空文本 def add_clear(self) : self.qte.insertPlainText('

BBBBB

') self.qte.append('

CCCCCCC

') # 会追加到原文本的结尾,并自动识别文本类型 print(self.qte.toPlainText()) print(self.qte.toHtml()) #获取整个页面的代码 #self.qte.clear() # 配合信号来测试 if __name__ == '__main__' : app = QApplication(sys.argv) window = Window() window.show() sys.exit(app.exec_())

3.效果