PyQT5 - 011 - QTextEdit控件

本文详细介绍了QTextEdit控件的功能和用法,包括其作为WYSIWYG编辑器的特点,支持HTML4标签子集的富文本格式,以及处理大型文档的能力。文章还列举了QTextEdit的常用信号,如文本内容改变、选中文本内容改变等,并提供了一个测试Demo,展示了如何使用QTextEdit进行文本和HTML内容的设置与获取。
说明

QTextEdit是一个高级的WYSIWYG(What You See Is What You Get所见即所得)编辑/查看器,支持使用HTML4标签子集的富文本格式。可以处理大型文档并快速响应用户的输入,可以加载纯文本和富文本文件,用来显示图像、列表和表格。QTextEdit的父类是QAbstractScrollArea,可以通过滚动条调整显示界面。

常用信号
信号说明
QTextEdit.textChanged()文本内容发生改变时发射
QTextEdit.selectionChanged()选中文本内容发生改变时发射
QTextEdit.cursorPositionChanged()光标位置发生改变时发射
QTextEdit.currentCharFormatChanged(QTextCharFormat)当前字符格式发生改变时发射(带有参数)
QTextEdit.copyAvailable(bool)复制可用时(返回布尔量)
QTextEdit.redoAvailable(bool)重做可用时(返回布尔量)
QTextEdit.undoAvailable(bool)撤销可用时(返回布尔量)
测试Demo
import sys
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtWidgets import QTextEdit, QPushButton, QVBoxLayout


class QTextEditDemo(QWidget) :
    def __init__(self):
        super(QTextEditDemo,self).__init__()
        self.initUI()

    def initUI(self):
        self.setWindowTitle('QTextEdit控件')
        self.resize(500, 300)

        self.textEdit = QTextEdit()  # 文本输入框控件

        # 按钮控件
        self.btnText = QPushButton('显示文本')
        self.btnHTML = QPushButton('显示HTML')

        self.btnToText = QPushButton('获取文本')
        self.btnToHTML = QPushButton('获取HTML')

        layout = QVBoxLayout()  # 垂直布局

        # 设置控件垂直布局
        layout.addWidget(self.textEdit)
        layout.addWidget(self.btnText)
        layout.addWidget(self.btnToText)
        layout.addWidget(self.btnHTML)
        layout.addWidget(self.btnToHTML)

        # 当前窗口设置布局
        self.setLayout(layout)

        # 设置按钮的点击触发事件
        self.btnText.clicked.connect(self.onClick_BtnText)
        self.btnHTML.clicked.connect(self.onClick_BtnHTML)
        self.btnToText.clicked.connect(self.onClick_BtnToText)
        self.btnToHTML.clicked.connect(self.onClick_BtnToHTML)


    # 设置文本输入框内容
    def onClick_BtnText(self):
        self.textEdit.setPlainText('这是文本输入框控件Demo')

    # 获得文本输入框内容
    def onClick_BtnToText(self):
        print(self.textEdit.toPlainText())

    # 以HTML的方式设置文本输入框的内容
    def onClick_BtnHTML(self):
        self.textEdit.setHtml('<font color="blue" size="5">Hello World</font>')

    # 以获得文本输入框的内容,以HTML的形式
    def onClick_BtnToHTML(self):
        print(self.textEdit.toHtml())


if __name__ == '__main__':
    app = QApplication(sys.argv)
    main = QTextEditDemo()
    main.show()
    sys.exit(app.exec_())
运行效果

在这里插入图片描述

找到的 QTextEdit 数量: 11 已为控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B310> 安装事件过滤器 已为控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B550> 安装事件过滤器 已为控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B790> 安装事件过滤器 已为控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B9D0> 安装事件过滤器 已为控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385BC10> 安装事件过滤器 已为控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385BE50> 安装事件过滤器 已为控件 <PyQt5.QtWidgets.QTextEdit object at 0x00000159938600D0> 安装事件过滤器 已为控件 <PyQt5.QtWidgets.QTextEdit object at 0x0000015993860310> 安装事件过滤器 已为控件 <PyQt5.QtWidgets.QTextEdit object at 0x0000015993860550> 安装事件过滤器 已为控件 <PyQt5.QtWidgets.QTextEdit object at 0x0000015993860790> 安装事件过滤器 已为控件 <PyQt5.QtWidgets.QTextEdit object at 0x00000159938609D0> 安装事件过滤器 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B310> 收到了事件类型:13 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B310> 收到了事件类型:14 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B310> 收到了事件类型:17 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B310> 收到了事件类型:26 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B550> 收到了事件类型:13 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B550> 收到了事件类型:14 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B550> 收到了事件类型:17 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B550> 收到了事件类型:26 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B790> 收到了事件类型:13 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B790> 收到了事件类型:14 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B790> 收到了事件类型:17 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B790> 收到了事件类型:26 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B9D0> 收到了事件类型:13 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B9D0> 收到了事件类型:14 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B9D0> 收到了事件类型:17 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B9D0> 收到了事件类型:26 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385BC10> 收到了事件类型:13 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385BC10> 收到了事件类型:14 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385BC10> 收到了事件类型:17 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385BC10> 收到了事件类型:26 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385BE50> 收到了事件类型:13 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385BE50> 收到了事件类型:14 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385BE50> 收到了事件类型:17 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385BE50> 收到了事件类型:26 控件 <PyQt5.QtWidgets.QTextEdit object at 0x00000159938600D0> 收到了事件类型:13 控件 <PyQt5.QtWidgets.QTextEdit object at 0x00000159938600D0> 收到了事件类型:14 控件 <PyQt5.QtWidgets.QTextEdit object at 0x00000159938600D0> 收到了事件类型:17 控件 <PyQt5.QtWidgets.QTextEdit object at 0x00000159938600D0> 收到了事件类型:26 控件 <PyQt5.QtWidgets.QTextEdit object at 0x0000015993860310> 收到了事件类型:13 控件 <PyQt5.QtWidgets.QTextEdit object at 0x0000015993860310> 收到了事件类型:14 控件 <PyQt5.QtWidgets.QTextEdit object at 0x0000015993860310> 收到了事件类型:17 控件 <PyQt5.QtWidgets.QTextEdit object at 0x0000015993860310> 收到了事件类型:26 控件 <PyQt5.QtWidgets.QTextEdit object at 0x0000015993860550> 收到了事件类型:13 控件 <PyQt5.QtWidgets.QTextEdit object at 0x0000015993860550> 收到了事件类型:14 控件 <PyQt5.QtWidgets.QTextEdit object at 0x0000015993860550> 收到了事件类型:17 控件 <PyQt5.QtWidgets.QTextEdit object at 0x0000015993860550> 收到了事件类型:26 控件 <PyQt5.QtWidgets.QTextEdit object at 0x0000015993860790> 收到了事件类型:13 控件 <PyQt5.QtWidgets.QTextEdit object at 0x0000015993860790> 收到了事件类型:14 控件 <PyQt5.QtWidgets.QTextEdit object at 0x0000015993860790> 收到了事件类型:17 控件 <PyQt5.QtWidgets.QTextEdit object at 0x0000015993860790> 收到了事件类型:26 控件 <PyQt5.QtWidgets.QTextEdit object at 0x00000159938609D0> 收到了事件类型:13 控件 <PyQt5.QtWidgets.QTextEdit object at 0x00000159938609D0> 收到了事件类型:14 控件 <PyQt5.QtWidgets.QTextEdit object at 0x00000159938609D0> 收到了事件类型:17 控件 <PyQt5.QtWidgets.QTextEdit object at 0x00000159938609D0> 收到了事件类型:26 控件 <PyQt5.QtWidgets.QTextEdit object at 0x0000015993860790> 收到了事件类型:13 控件 <PyQt5.QtWidgets.QTextEdit object at 0x0000015993860310> 收到了事件类型:13 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385BE50> 收到了事件类型:13 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B790> 收到了事件类型:13 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B310> 收到了事件类型:13 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B310> 收到了事件类型:74 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B550> 收到了事件类型:74 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B790> 收到了事件类型:74 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B9D0> 收到了事件类型:74 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385BC10> 收到了事件类型:74 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385BE50> 收到了事件类型:74 控件 <PyQt5.QtWidgets.QTextEdit object at 0x00000159938600D0> 收到了事件类型:74 控件 <PyQt5.QtWidgets.QTextEdit object at 0x0000015993860310> 收到了事件类型:74 控件 <PyQt5.QtWidgets.QTextEdit object at 0x0000015993860550> 收到了事件类型:74 控件 <PyQt5.QtWidgets.QTextEdit object at 0x0000015993860790> 收到了事件类型:74 控件 <PyQt5.QtWidgets.QTextEdit object at 0x00000159938609D0> 收到了事件类型:74 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B310> 收到了事件类型:78 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B550> 收到了事件类型:78 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B790> 收到了事件类型:78 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B9D0> 收到了事件类型:78 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385BC10> 收到了事件类型:78 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385BE50> 收到了事件类型:78 控件 <PyQt5.QtWidgets.QTextEdit object at 0x00000159938600D0> 收到了事件类型:78 控件 <PyQt5.QtWidgets.QTextEdit object at 0x0000015993860310> 收到了事件类型:78 控件 <PyQt5.QtWidgets.QTextEdit object at 0x0000015993860550> 收到了事件类型:78 控件 <PyQt5.QtWidgets.QTextEdit object at 0x0000015993860790> 收到了事件类型:78 控件 <PyQt5.QtWidgets.QTextEdit object at 0x00000159938609D0> 收到了事件类型:78 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B310> 收到了事件类型:24 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B550> 收到了事件类型:24 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B790> 收到了事件类型:24 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B9D0> 收到了事件类型:24 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385BC10> 收到了事件类型:24 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385BE50> 收到了事件类型:24 控件 <PyQt5.QtWidgets.QTextEdit object at 0x00000159938600D0> 收到了事件类型:24 控件 <PyQt5.QtWidgets.QTextEdit object at 0x0000015993860310> 收到了事件类型:24 控件 <PyQt5.QtWidgets.QTextEdit object at 0x0000015993860550> 收到了事件类型:24 控件 <PyQt5.QtWidgets.QTextEdit object at 0x0000015993860790> 收到了事件类型:24 控件 <PyQt5.QtWidgets.QTextEdit object at 0x00000159938609D0> 收到了事件类型:24 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B310> 收到了事件类型:12 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B550> 收到了事件类型:12 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B790> 收到了事件类型:12 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B9D0> 收到了事件类型:12 控件 <PyQt5.QtWidgets.QTextEdit object at 0x00000159938609D0> 收到了事件类型:13 控件 <PyQt5.QtWidgets.QTextEdit object at 0x0000015993860790> 收到了事件类型:13 控件 <PyQt5.QtWidgets.QTextEdit object at 0x0000015993860550> 收到了事件类型:13 控件 <PyQt5.QtWidgets.QTextEdit object at 0x0000015993860310> 收到了事件类型:13 控件 <PyQt5.QtWidgets.QTextEdit object at 0x00000159938600D0> 收到了事件类型:13 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385BE50> 收到了事件类型:13 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385BC10> 收到了事件类型:13 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B9D0> 收到了事件类型:13 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B790> 收到了事件类型:13 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B550> 收到了事件类型:13 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B310> 收到了事件类型:13 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B310> 收到了事件类型:12 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B550> 收到了事件类型:12 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B790> 收到了事件类型:12 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B9D0> 收到了事件类型:12 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385BC10> 收到了事件类型:12 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385BE50> 收到了事件类型:12 控件 <PyQt5.QtWidgets.QTextEdit object at 0x00000159938600D0> 收到了事件类型:12 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B310> 收到了事件类型:10 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B310> 收到了事件类型:11 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B550> 收到了事件类型:10 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B550> 收到了事件类型:110 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B550> 收到了事件类型:11 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B310> 收到了事件类型:10 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B310> 收到了事件类型:207 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B310> 收到了事件类型:8 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B310> 收到了事件类型:207 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B310> 收到了事件类型:2 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B310> 收到了事件类型:12 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B310> 收到了事件类型:9 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B310> 收到了事件类型:12 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B310> 收到了事件类型:11 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B310> 收到了事件类型:8 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B310> 收到了事件类型:23 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B550> 收到了事件类型:207 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B310> 收到了事件类型:9 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B550> 收到了事件类型:8 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B550> 收到了事件类型:207 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B550> 收到了事件类型:2 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B310> 收到了事件类型:12 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B550> 收到了事件类型:12 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B550> 收到了事件类型:10 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B550> 收到了事件类型:9 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B550> 收到了事件类型:12 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B550> 收到了事件类型:11 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B550> 收到了事件类型:8 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B550> 收到了事件类型:12 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B550> 收到了事件类型:23 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B310> 收到了事件类型:25 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B550> 收到了事件类型:25 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B790> 收到了事件类型:25 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B9D0> 收到了事件类型:25 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385BC10> 收到了事件类型:25 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385BE50> 收到了事件类型:25 控件 <PyQt5.QtWidgets.QTextEdit object at 0x00000159938600D0> 收到了事件类型:25 控件 <PyQt5.QtWidgets.QTextEdit object at 0x0000015993860310> 收到了事件类型:25 控件 <PyQt5.QtWidgets.QTextEdit object at 0x0000015993860550> 收到了事件类型:25 控件 <PyQt5.QtWidgets.QTextEdit object at 0x0000015993860790> 收到了事件类型:25 控件 <PyQt5.QtWidgets.QTextEdit object at 0x00000159938609D0> 收到了事件类型:25 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B550> 收到了事件类型:9 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B310> 收到了事件类型:18 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B550> 收到了事件类型:18 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B790> 收到了事件类型:18 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385B9D0> 收到了事件类型:18 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385BC10> 收到了事件类型:18 控件 <PyQt5.QtWidgets.QTextEdit object at 0x000001599385BE50> 收到了事件类型:18 控件 <PyQt5.QtWidgets.QTextEdit object at 0x00000159938600D0> 收到了事件类型:18 控件 <PyQt5.QtWidgets.QTextEdit object at 0x0000015993860310> 收到了事件类型:18 控件 <PyQt5.QtWidgets.QTextEdit object at 0x0000015993860550> 收到了事件类型:18 控件 <PyQt5.QtWidgets.QTextEdit object at 0x0000015993860790> 收到了事件类型:18 控件 <PyQt5.QtWidgets.QTextEdit object at 0x00000159938609D0> 收到了事件类型:18
最新发布
08-12
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值