简介
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("<p style='color:red;'>段落<br />单击按钮</p>")
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_())
结果截图