QTextEdit是一个高级的所见即所得的文档查看器和编辑器,支持使用HTML4样式标记的富文本格式,可以显示图像、列表和表格。
PyQt的富文本处理提供了一系列丰富的类,包括QTextEdit、QTextDocument、QTextCharFormat、QTextCursor、QTextBlock、QTextList、QTextFrame、QTextTable、QTextBlockFormat、QTextListFormat、QTextFrameFormat、QTextTableFormat等,如果要介绍清楚需要花比较多的时间,同时鉴于HTML的处理方面,可以利用Python中BeautifulSoup模块强大的功能解析和编辑(可以参见老猿Python的爬虫专题),因此本部分不进行详细介绍。推荐大家按如下几篇文章了解:
文本编辑QTextEdit在Designer中可以设置的属性如下:
除了Designer中可以设置的属性外,QLineEdit还有个plainText属性:
下面复杂的方法会介绍调用语法,不复杂的方法就不介绍调用语法,大家可以官方文档速查:
append(str text)
createStandardContextMenu()、createStandardContextMenu(QPoint position)
其中的exp可以是普通字符串,也可是QRegExp 类型的正则表达式,其中options用于指定是向前或向后查找、查找时是否匹配大小写、是否整词匹配,具体取值请参考官方文档。当exp为正则表达式则是否匹配大小写的选项被忽略,而是由正则表达式来控制是否匹配大小写
moveCursor(operation, mode = QTextCursor.MoveAnchor)
setCurrentCharFormat(QTextCharFormat format)
setTextCursor(QTextCursor cursor)
QTextEdit是一个所见即能得的富文本编辑器,可以使用setHtml()设置或替换文本,可以使用clear()删除整个文本。文本本身可以使用QTextCursor类或使用便利函数insertHtml()、insertPlainText()、append()或paste()插入。QTextCursor还可以将复杂的对象(如表或列表)插入到文档中,默认情况下,文本编辑以空白换行以适应文本编辑部件。
QTextEdit中的文本对象依赖于QTextDocument类进行管理,QTextDocument类借助QTextCursor可以对文本进行丰富的操作。但限于时间和篇幅,本文并没有对QTextDocument和QTextCursor进行详细介绍。大家可以参考老猿提供的参考文档或者官网文档。