
公众号:uncle39py
V1
2023/04/26阅读:15主题:默认主题
70.PyQt多行文本框
本节介绍
普通文本编辑器QPlainTextEdit
,
富文本编辑器QTextEdit
QPlainTextEdit
性能优于QTextEdit
一.前言
继承结构图:
QObject--Qwidget--QFrame--QAbstractScrollArea
QFrame
: 设置边框样式的
QAbstractScrollArea
:抽象的滚动区域;主要用于设置水平/垂直滚动条的滚动策略(什么时间显示滚动条)

QPlainTextEdit
和QTextEdit
都是QAbstractScrollArea
的子类,用于接收用户输入的多行文本,当行数超出了限制,就会出现滚动条
二.QPlainTextEdit
def init_ui(self):
pte = QPlainTextEdit(self)
pte.resize(200,100)
pte.setPlaceholderText("提示文本")
pte.setReadOnly(True)
-
设置是否软换行(重要)
如果没有软换行,则不会自动换行,水平方向会出现滚动条

-
程序中插入内容(了解即可)

-
块的操作
文本框中一个换行为一个块,块将白点就是段落的意思,默认情况下允许输入无数块(无数个段落)的内容
如果设置了最大块(段落)个数,那么此时如果再换行输入新的块(段落)内容,会把最早输入的块(段落)的内容给删除.
pte.blockCount()#获取当前块(段落)数量
pte.setMaximumBlockCount(3)#设置最大块(段落)的个数
-
放大/缩小
pte = QPlainTextEdit(self)
btn = QPushButton("按钮",self)
btn.move(100,300)
btn.clicked.connect(lambda : pte.zoomIn(1))
#pte.zoomIn(1) 参数大于0表示放大,小于0表示缩小
#此处点击按钮则放大一点
-
信号

三.QTextEdit
QTextEdit
可以加载纯文本和富文本
QTextEdit
的基础用法、文本提示、对齐方式与QPlainTextEdit
一样,此处不赘述
-
涉及的信号(了解)

-
通过程序设置内容,展示出来(了解)

append(str)
追加文本
clear()
清空文本
四.小结
QTextEdit此处呈现的内容差不多与QPlainTextEdit类似,
它还有其他功能,比如可以插入图片、列表、表格、段落等,鉴于内容琐碎晦涩且没什么鸟用,先不深入了解,用到再说
作者介绍

公众号:uncle39py
V1