PyQt5之QPlainTextEdit

1.描述

QPlainText和QTextEdit大致功能实现差不多,但针对纯文本处理进行了优化,继承自QAbstractScrollArea

2.功能作用

(1) 构造函数

QPlainTextEdit(parent: QWidget = None)    
QPlainTextEdit(str, parent: QWidget = None)

(2) 占位提示文本

setPlaceholderText(str)
placeholderText() -> str

(3) 只读设置

setReadOnly(bool)
isReadOnly() -> bool

(4) 格式

currentCharFormat() -> QTextCharFormat
setCurrentCharFormat(QTextCharFormat)
mergeCurrentCharFormat(QTextCharFormat)

(5) 软换行模式

lineWrapMode() -> QPlainTextEdit.LineWrapMode
setLineWrapMode(QPlainTextEdit.LineWrapMode)
"""
QPlainTextEdit.LineWrapMode
	QPlainTextEdit.NoWrap
		没有软换行
	QPlainTextEdit.WidgetWidth
		超出控件宽度进行自动换行
"""

(6) 覆盖模式

# 控制是否采用覆盖模式编辑文本
overwriteMode() -> bool
setOverwriteMode(bool)

(7) Tab控制

setTabChangesFocus(bool)
setTabStopDistance(distance_float)
tabChangesFocus() -> bool
tabStopDistance() -> float

(8) 文本操作

setPlainText(text_str) # 设置普通文本内容
insertPlainText(text_str) # 插入普通文本
appendPlainText(text_str) # 追加普通文本
appendHtml(html_str) # 追加HTML字符串,但不是所有的标签都支持
toPlainText() # 转换成纯文本

(9) 块操作

blockCount() -> int # 当前块个数
maximumBlockCount() -> int # 最大块个数
setMaximumBlockCount(int) # 设置最大块个数

(10)常用编辑操作

selectAll() # 选中所有
copy() # 复制选中文本
cut() # 剪切选中文本
paste() # 粘贴文本
canPaste() -> bool # 判定是否可以粘贴
clear() # 清空内容
redo() # 重做
isUndoRedoEnabled() -> bool # 判定撤销重做是否可用
setUndoRedoEnabled(bool) # 设置撤销重做是否可用
undo() # 撤销
find(str, QTextDocument.FindFlags) -> bool
"""
    QTextDocument.FindBackward
        向后搜索而不是向前搜索。
    QTextDocument.FindCaseSensitively
        默认情况下,查找工作区不区分大小写。
        指定此选项会将行为更改为区分大小写的查找操作。
    QTextDocument.FindWholeWords
        使查找匹配仅完整的单词。
"""
zoomIn(int range = 1) #  放大缩小:range > 0是放大,range < 0是缩小

(11) 滚动

centerCursor() # 控制光标, 尽可能保证光标在文本框中间
ensureCursorVisible() # 滚动控件, 确保光标可见
setCenterOnScroll(bool) # True表示, 控制光标(包括尾部), 显示时能够展示在中间位置
centerOnScroll() -> bool

(12) 光标

textCursor() -> QTextCursor # 获取文本光标对象
cursorForPosition(QPoint) -> QTextCursor # 获取指定位置的文本光标对象
cursorWidth() -> int # 获取文本光标宽度
setCursorWidth(int) # 设置文本光标宽度
cursorRect() -> QRect # 获取文本光标矩形
cursorRect(QTextCursor) # 获取指定光标对象的矩形
moveCursor(QTextCursor.MoveOperation,QTextCursor.MoveMode)
"""
QTextCursor.MoveOperation
    QTextCursor.NoMove
        将光标保持在原位
    QTextCursor.Start
        移至文档的开头。
    QTextCursor.StartOfLine
        移动到当前行的开头。
    QTextCursor.StartOfBlock
        移动到当前块的开头。
    QTextCursor.StartOfWord
        移动到当前单词的开头。
    QTextCursor.PreviousBlock
        移动到上一个块的开头。
    QTextCursor.PreviousCharacter
        移至上一个字符。
    QTextCursor.PreviousWord
        移到上一个单词的开头。
    QTextCursor.Up
        向上移动一行。
    QTextCursor.Left
        向左移动一个字符。
    QTextCursor.WordLeft
        向左移动一个单词。
    QTextCursor.End
        移到文档的末尾。
    QTextCursor.EndOfLine
        移动到当前行的末尾。
    QTextCursor.EndOfWord
        移到当前单词的末尾。
    QTextCursor.EndOfBlock
        移动到当前块的末尾。
    QTextCursor.NextBlock
        移动到下一个块的开头。
    QTextCursor.NextCharacter
        移动到下一个角色。
    QTextCursor.NextWord
        转到下一个单词。
    QTextCursor.Down
        向下移动一行。
    QTextCursor.Right
        向右移动一个角色。
    QTextCursor.WordRight
        向右移动一个单词。
    QTextCursor.NextCell	
        移动到当前表中下一个表格单元格的开头。如果当前单元格是行中的最后一个单元格,则光标将移动到下一行中的第一个单元格。
    QTextCursor.PreviousCell
        移动到当前表内的上一个表格单元格的开头。如果当前单元格是行中的第一个单元格,则光标将移动到上一行中的最后一个单元格。
    QTextCursor.NextRow
        移动到当前表中下一行的第一个新单元格。
    QTextCursor.PreviousRow
        移动到当前表中上一行的最后一个单元格。

QTextCursor.MoveMode
    QTextCursor.MoveAnchor
        将锚点移动到与光标本身相同的位置。
    QTextCursor.KeepAnchor
        将锚固定在原处。
"""

3.信号

textChanged() # 文本改变时
selectionChanged() # 选中内容改变时
modificationChanged(bool) # 编辑状态改变时
cursorPositionChanged() # 光标位置改变时
blockCountChanged(int) # 块的个数发生改变时
updateRequest(QRect rect, int dy) # 内容更新请求时
copyAvailable(bool) # 复制可用时
redoAvailable(bool) # 重做可用时
undoAvailable(bool) # 撤销可用时

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值