6.7 PyQt5控件介绍【文本编辑框控件】-QTextEdit
1.QTextEdit简介
PyQt5中QTextEdit控件用来创建文本编辑框。用来显示和编辑富文本内容。
2.QTextEdit案例
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QTextEdit, QPushButton, QVBoxLayout
class QTextEditDemo(QWidget):
def __init__(self):
super(QTextEditDemo, self).__init__()
self.init_ui()
def init_ui(self):
v_layout = QVBoxLayout(self)
self.text_edit = QTextEdit() # 文本框控件
set_text = QPushButton('设置文本')
set_text.clicked.connect(self.set_edit_text)
get_text = QPushButton('获取文本')
get_text.clicked.connect(self.get_edit_text)
set_html = QPushButton('设置HTML')
set_html.clicked.connect(self.set_html_text)
get_html = QPushButton('获取HTML')
get_html.clicked.connect(self.get_html_text)
v_layout.addWidget(self.text_edit)
v_layout.addWidget(set_text)
v_layout.addWidget(get_text)
v_layout.addWidget(set_html)
v_layout.addWidget(get_html)
def set_edit_text(self):
self.text_edit.setPlainText('hello word') # 设置TextEdit纯文本内容
def set_html_text(self):
self.text_edit.setHtml('<a href="#">hello word</a>') # 设置TextEdit HTML内容
def get_edit_text(self):
print(self.text_edit.toPlainText()) # 获取TextEdit纯文本内容
def get_html_text(self):
print(self.text_edit.toHtml()) # 获取TextEdit HTML内容
def text_changed(self):
print('文本发生变化')
def selection_changed(self):
print('选中文本行')
def cursor_position_changed(self):
print('光标移动')
if __name__ == '__main__':
app = QApplication(sys.argv)
w = QTextEditDemo()
w.show()
sys.exit(app.exec())
3.运行结果
4.常用方法
方法 | 描述 |
setText(text) | 设置默认内容 |
append(text) | 末尾追加内容 |
toPlainText() | 返回文本编辑框中的纯文本内容 |
toHtml() | 返回文本编辑框中的 HTML 内容 |
setPlainText(text) | 设置纯文本内容 |
setHtml(text) | 设置HTML内容 |
setReadOnly(bool) | 设置是否只读 |
setFixedSize(w,h) | 设置文本宽度和高度,像素单位 |
setDocumentTitle(text) | 设置文档标题 |
documentTitle() | 返回文档标题 |
redo() | 重做上一次撤销操作 |
undo() | 撤销上一次操作 |
clear() | 清空文本内容 |
selectAll() | 选择所有文本 |
5.常用信号
方法 | 描述 |
text_changed | 文本内容发生变化时触发 |
selectionChanged | 鼠标选中行时触发 |
cursorPositionChanged | 光标位置改变时触发 |