PyQT5 - 011 - QTextEdit控件

说明

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('Hello World')

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


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

PyQT5 - 011 - QTextEdit控件_第1张图片

你可能感兴趣的:(pyqt5,python,pyqt,gui)