pyqt5-多行文本框QTextEdit

简介

QTextEdit是多行文本框控件,用来显示多行的文本内容,当文本内容超出控件的显示范围,会自动出现滚动条。
此外,QTextEdit不仅可以显示纯文本内容还可以显示HTML内容。

QTextEdit的方法

setPlainText()

设置纯文本内容

toPlainText()

获取纯文本内容

setTextColor()

设置文本颜色

setTextBackgroundColor()

设置文本的背景颜色

setHtml()

设置HTML内容 

toHtml()

获取HTML内容

wordWrapMode()

设置自动换行,这个是针对文本的还是针对HTML的?

clear()

清除所有内容

程序

import sys

from PyQt5.QtGui import QColor
from PyQt5.QtWidgets import *


class TextDemo(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)
        self.setWindowTitle("QTextEdit例子")
        self.resize(300, 270)

        # 多行文本框
        self.textEdit = QTextEdit()
        self.textEdit.setTextColor(QColor(0, 0, 255))
        self.textEdit.setTextBackgroundColor(QColor(255, 0, 255))

        # 按钮
        self.btn_text = QPushButton("显示文本")
        self.btn_html = QPushButton("显示HTML")
        self.btn_clear = QPushButton("清空内容")

        # 垂直布局
        vLayout = QVBoxLayout()
        vLayout.addWidget(self.textEdit)
        vLayout.addWidget(self.btn_text)
        vLayout.addWidget(self.btn_html)
        vLayout.addWidget(self.btn_clear)

        # 设置按钮事件
        self.btn_text.clicked.connect(self.showText)
        self.btn_html.clicked.connect(self.showHtml)
        self.btn_clear.clicked.connect(self.clearContent)

        # 设置布局
        self.setLayout(vLayout)

    def showText(self):
        """点击按钮触发显示文本事件"""
        self.textEdit.setPlainText("Hello World!\n点击按钮")
        print(self.textEdit.toPlainText())

    def showHtml(self):
        """点击按钮触发显示HTML事件"""
        self.textEdit.setHtml("

段落
单击按钮

") print(self.textEdit.toHtml()) def clearContent(self): self.textEdit.clear() if __name__ == '__main__': app = QApplication(sys.argv) window = TextDemo() window.show() sys.exit(app.exec_())

结果截图

pyqt5-多行文本框QTextEdit_第1张图片pyqt5-多行文本框QTextEdit_第2张图片

 

 

你可能感兴趣的:(PyQt5,qt,开发语言)