【PyQt】多行纯文本框
@[toc]qt多行纯文本框
QPlainTextEdit
QPlainTextEdit 是可以多行的纯文本编辑框
文本浏览框 内置了一个** QTextDocument **类型的对象 ,存放文档。
1.信号:文本被修改
当文本框中的内容被键盘编辑,被点击就会发出 textChanged 信号,可以这样指定处理该信号的函数
edit.textChanged.connect(handleTextChange)
注意: Qt在调用这个信号处理函数时,不会传入文本框目前的内容字符串,作为参数。
这个行为和单行文本框不同。
2.信号:光标位置改变
当文本框中的光标位置变动,就会发出 cursorPositionChanged 信号,可以这样指定处理该信号的函数
edit.cursorPositionChanged.connect(handleChanged)
3.获取文本
通过toPlainText
方法获取编辑框内的文本内容,比如
text = edit.toPlainText()
4.获取选中文本
# 获取 QTextCursor 对象
textCursor = edit.textCursor()
selection = textCursor.selectedText()
5.设置提示
通过 setPlaceholderText
方法可以设置提示文本内容,比如
edit.setPlaceholderText(‘请在这里输入所需要的信息’)
6.设置文本
通过 setPlainText 方法设置编辑框内的文本内容 为参数里面的文本字符串,比如
edit.setPlainText('''你好。。。。。。。。。。。。。。。。。''')
7.在末尾添加文本
通过 append 方法在编辑框末尾添加文本内容,比如
edit.append(‘世界和平’)
注意:这种方法会在添加文本后 自动换行
8.在光标处插入文本
通过 insertPlainText 方法在编辑框末尾添加文本内容,比如
edit.insertPlainText('世界和平')
注意
:这种方法不会在添加文本后自动换行
9.清除所有文本
clear 方法可以清除编辑框内所有的文本内容,比如
edit.clear()
10.拷贝文本到剪贴板
copy 方法可以拷贝当前选中文本到剪贴板,比如
edit.copy()
11.粘贴剪贴板文本
paste 方法可以把剪贴板内容,拷贝到编辑框当前光标所在处,比如
edit.paste()
12.设置最大行数
有时候,代码会不断往文本框添加内容,为了防止占用过多资源,可以设置文本框最大行数。
像这样:
edit.document().setMaximumBlockCount(1000)
就设置最大为 1000行。