Qt显示文本的控件很多,QLabel, QLineEdit, QPlainText等,本篇介绍QTexEdit的用法,主要API如下:
setPlainText:显示文本 toPlainText:获取文本 setHtml:设置html文本 toHtml:获取html代码
示例代码如下:
from PyQt5.QtWidgets import *
import sys
class QTextEditDemo(QWidget) :
def __init__(self):
super(QTextEditDemo,self).__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('QTextEdit控件演示')
self.resize(300,320)
self.textEdit = QTextEdit()
self.buttonText = QPushButton('显示文本')
self.buttonHTML = QPushButton('显示HTML')
self.buttonToText = QPushButton('获取文本')
self.buttonToHTML = QPushButton('获取HTML')
layout = QVBoxLayout()
layout.addWidget(self.textEdit)
layout.addWidget(self.buttonText)
layout.addWidget(self.buttonToText)
layout.addWidget(self.buttonHTML)
layout.addWidget(self.buttonToHTML)
self.setLayout(layout)
self.buttonText.clicked.connect(self.onClick_ButtonText)
self.buttonHTML.clicked.connect(self.onClick_ButtonHTML)
self.buttonToText.clicked.connect(self.onClick_ButtonToText)
self.buttonToHTML.clicked.connect(self.onClick_ButtonToHTML)
def onClick_ButtonText(self):
self.textEdit.setPlainText('Hello World,世界你好吗?')
def onClick_ButtonToText(self):
print(self.textEdit.toPlainText())
def onClick_ButtonHTML(self):
self.textEdit.setHtml('<font color="blue" size="5">Hello World</font>')
def onClick_ButtonToHTML(self):
print(self.textEdit.toHtml())
if __name__ == '__main__':
app = QApplication(sys.argv)
main = QTextEditDemo()
main.show()
sys.exit(app.exec_())
运行结果:
QTextEdit可以多行显示,例如: