锋哥原创的PyQt6视频教程:
QTextEdit是多行文本框控件,主要用来显示多行的文本内容,当文本内容超出控件的显示范围时,该控件将显示垂直滚动条;另外,QTextEdit控件不仅可以显示纯文本内容,还支持显示HTML网页。
QTextEdit类的常用方法如下:
方法 | 描述 |
---|---|
setPlainText() | 设置文本内容 |
toPlainText() | 获取文本内容 |
setTextColor() | 设置文本颜色,例如,将文本设置为红色,可以将该方法的参数设置为QtGui.QColor(255,0,0) |
setTextBackgroundColor() | 设置文本的背景颜色,颜色参数与setTextColor()相同 |
setHtml() | 设置 HTML文档内容 |
toHtml() | 获取HTML文档内容 |
setLineWrapMode() | lineWrapMode:lineWrapMode属性用于控制换行模式,其类型为枚举类型QTextEdit.LineWrapMode,缺省值为WidgetWidth,表示以词为单位在编辑器右边换行,换行出现在空白处,保持整个单词的完整性。可以调用方法lineWrapMode()、setLineWrapMode()来访问该属性。如果设置换行模式为FixedPixelWidth(距离控件左侧的像素距离) 或 FixedColumnWidth(距离控件左侧的列距离) ,同时需要调用setLineWrapColumnOrWidth()方法设置换行的像素宽度或字符数宽度,这两种模式不会保持单词的完整性 |
clear() | 清除所有内容 |
overwriteMode() | overwriteMode属性用于控制用户输入文本是否替换现有文本,如果为True,则输入字符从当前光标位置开始逐一替换当前的字符,为False则在光标处插入输入字符。缺省值为False,可以通过方法overwriteMode()、setOverwriteMode()进行访问 |
测试参考代码:
"""
python加载ui文件
作者 : 小锋老师
官网 : www.python222.com
"""
import sys
import time
from PyQt6.QtGui import QValidator, QIntValidator
from PyQt6.QtWidgets import QApplication, QLabel, QLineEdit, QTextEdit
from PyQt6 import uic, QtGui
if __name__ == '__main__':
app = QApplication(sys.argv)
ui = uic.loadUi("./QTextEdit多行文本框控件.ui")
myTextEdit: QTextEdit = ui.textEdit
myTextEdit2: QTextEdit = ui.textEdit_2
myTextEdit.setTextColor(QtGui.QColor(255, 0, 0))
myTextEdit.setTextBackgroundColor(QtGui.QColor(255, 255, 0))
myTextEdit.setPlainText("学python,上python222.com")
# myTextEdit.setText("学<font color='red'>python</font>,上<a href='http://www.python222.com'>python222.com</a>")
myTextEdit2.setHtml("学<font color='red'>python</font>,上<a href='http://www.python222.com'>python222.com</a>")
print(myTextEdit.toPlainText())
print(myTextEdit2.toHtml())
# myTextEdit.clear()
# myTextEdit2.clear()
ui.show()
sys.exit(app.exec())