QPlainTextEdit是用于纯文本的一个高级文档编辑器部件,为支持处理大文档和快速响应用户输入进行了特定优化。QPlainTextEdit处理文本是按段和字符,段落是一个格式化的字符串,界面换行会以适应编辑部件的宽度方式以整词词为单位进行。默认情况下,纯文本中的一个换行符表示一个段落。文档由零个或多个段落组成。段落中的每个字符都有自己的属性,例如字体和颜色。
PyQt的文本处理提供了一系列丰富的类,包括QTextDocument、QTextCharFormat、QTextCursor、QTextBlock、QTextList、QTextFrame、QTextTable、QTextBlockFormat、QTextListFormat、QTextFrameFormat、QTextTableFormat等,如果要介绍清楚需要花比较多的时间,因此本部分不展开进行介绍。推荐大家按如下两篇文章了解:
文本编辑QPlainTextEdit在Designer中可以设置的属性如下: 可以看到QPlainTextEdit的属性与QTextEdit的属性很多是相同的。
下面复杂的方法会介绍调用语法,不复杂的方法就不介绍调用语法,大家可以官方文档速查:
使用appendHtml和appendPlainText将同一段html报文加
html = '''<link href="https://blog.csdn.net/LaoYuanPython"/><title>老猿Python</title><div>老猿Python网址:https://blog.csdn.net/LaoYuanPython</div>''' self.plainTextEdit.appendHtml(html) self.plainTextEdit.appendPlainText('\n************************************************\n') self.plainTextEdit.appendPlainText(html) 执行后界面显示效果如下: appendPlainText():槽方法,用于在编辑器末尾增加一段参数所指的纯文本blockCount()方法:用于获取文档中的块数,空文档的块数为1canPaste()方法:用于返回是否可以从剪切板中粘贴文本到编辑器中clear()方法:槽方法,清楚编辑器中所有文本,redo/undo历史也会被清除copy()方法:槽方法,用于将编辑器中选中文本拷贝到剪切板中cut()方法:槽方法,用于将编辑器中选中文本拷贝到剪切板中后删除createStandardContextMenu()方法: 这个方法都用于创建在编辑器中使用鼠标右键时显示的弹出菜单,只不过有带参和不带参的两种调用方式,带参数的是在文档中指定位置弹出,这样可以实现在编辑器的不同位置会弹出不同的快捷菜单。调用语法:createStandardContextMenu()、createStandardContextMenu(QPoint position)currentCharFormat()方法:返回当前的字符格式,其类型为QTextCharFormat,QTextCharFormat用于控制QTextEdit中的文本格式(这些文本的存储类型为QTextDocument对象,可以通过QTextEdit的document()方法获取,关于QTextCharFormat和QTextDocument对象在本文中不详细介绍),这些文本格式控制信息用于指定文本的一些可视化格式,如同超文本中的可视化格式控制信息cursorForPosition()方法:返回指定位置的QTextCursor文本光标对象,QTextCursor文本光标是通过模拟文本编辑器中光标行为的编程接口,用于访问和修改文本文档的内容和底层结构的对象。QTextCursor包含有关光标在QTextDocument中的位置及其所做的任何选择的信息。QTextCursor是根据文本光标在文本编辑器中的行为方式建模的,它提供了通过用户界面执行标准操作的编程方法。document()方法:document方法返回文本编辑器依赖的QTextDocument文档管理对象,通过该对象可以对文本进行丰富的操作,可以调用setDocument方法改变文本编辑器的文档对象ensureCursorVisible()方法:使用该方法确保编辑器中的光标可见,如果当前不可见则可以滚动文本find()方法:在编辑器中查找指定字符串,调用语法: bool find(str exp, QTextDocument.FindFlags options = QTextDocument.FindFlags()) bool find(QRegExp exp, QTextDocument.FindFlags options = QTextDocument.FindFlags()) 其中的exp可以是普通字符串,也可是QRegExp 类型的正则表达式,其中options用于指定是向前或向后查找、查找时是否匹配大小写、是否整词匹配,具体取值请参考官方文档。当exp为正则表达式则是否匹配大小写的选项被忽略,而是由正则表达式来控制是否匹配大小写 insertPlainText()方法:将参数给定文本插入当前位置moveCursor()方法:控制编辑器中光标进行移动,调用语法:moveCursor(operation, mode = QTextCursor.MoveAnchor),其中operation为枚举类型QTextCursor.MoveOperation,用于控制光标的移动方式,如移动到文档开始、移动到行首等,具体取值参考官方文档,mode 为枚举类型QTextCursor.MoveMode,具体取值参考官方文档paste()方法:paste是槽方法,将剪切板的文本拷贝到当前位置redo()、undo()方法:undo、redo是槽方法,undo()方法执行后可以使用redo重新执行最后一次的操作selectAll()方法:selectAll是槽方法,选择所有文本setCurrentCharFormat()方法:设置文本格式控制信息,调用语法:setCurrentCharFormat(QTextCharFormat format)setTextCursor()方法:setTextCursor方法用于设置当前可见的光标对象,调用语法:setTextCursor(QTextCursor cursor),当前光标对象可通过textCursor()方法获取zoomIn()、zoomOut()方法:两者都是槽方法,放大或缩小文本字体的大小指定参数大小,基本字体大小可以通过setFontPointSize设置 blockCountChanged(int newBlockCount):当文本中块数发生变化时发射该信号,参数为最新的块数copyAvailable(bool yes):当文本被选中或去选中时发射该信号,表示是否可拷贝,选中是yes为True,去选中时为FalsecursorPositionChanged():光标位置改变时发射该信号modificationChanged(bool changed):文档的内容发生改变(包括undo和redo操作引发的文档内容改变)时就发射该信号redoAvailable(bool available):当redo的状态发生变化时发射该信号:selectionChanged():当选择文本发生变化时发射该信号textChanged():当文本内容发生变化时发射该信号undoAvailable(bool available):当undo的状态发生变化时发射该信号updateRequest(QRect rect, int dy):当文本文档需要更新指定的rect区域时,会发出此信号。如果文本是滚动的,rect将覆盖整个视区。如果文本是垂直滚动的,则dy携带滚动的视区像素数。该信号的目的是支持纯文本编辑子类中的额外部件,例如显示行号、断点或其他额外信息。 QPlainTextEdit的很多功能支持技术与 QTextEdit相同。与QTextEdit相同,QPlainTextEdit中的文本对象依赖于QTextDocument类进行管理,QTextDocument类借助QTextCursor可以对文本进行丰富的操作。但限于时间和篇幅,本文并没有对QTextDocument和QTextCursor进行详细介绍。大家可以参考概述部分老猿提供的参考文档或者官网文档。 老猿Python,跟老猿学Python! 专栏:Python基础教程目录专栏:使用PyQt开发图形界面Python应用专栏:PyQt入门学习老猿Python博文目录 专栏:Python基础教程目录专栏:使用PyQt开发图形界面Python应用专栏:PyQt入门学习老猿Python博文目录一、概述QPlainTextEdit是用于纯文本的一个高级文档编辑器部件,为支持处理大文档和快速响应用户输入进行了特定优惠。QPlainTextEdit的很多功能支持技术与 QTextEdit相同。QPlainTextEdit处理文本是按段和字符,段落是一个格式化... self.textEdit_6.setPlainText(Hello World) 以上这篇PYQT5设置textEdit自动滚屏的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。 您可能感兴趣的文章:PyQT5 QTableView显示绑定数据的实例详解PyQt5 QTableView设置某一列不可编辑的方法 QPlainTextEdit 是一个多行文本编辑器,用于显示和编辑多行简单文本。另外,还有一个 QTextEdit 组件,是一个所见即所得的可以编辑带格式文本的组件,以 HTML 格式标记符定义文本格式。 实例 samp4_6 演示 QPlainTextEdit(和 QComboBox)的使用,其运行时界面如图 1 所示。 图 1 实例运行界面 从《QComboBox》一节中的代码实现己经... 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTreeWidget的itemAt方法通过视口内的坐标点获取对应坐标位置的项,相关调用方法如下: QTreeWidgetItem itemAt( QPoint p) QTreeWidgetItem itemAt(int x, int y) 通过该方法可以获取到视口上对应坐标所在的项,如果对应坐标位置无项则返回None。 以下代码输出树型部件视口范围内的所有项首列文本: def showAllVisibleItem(self): height = self.t PyCharm 是一款 Python 集成开发环境(IDE),可以方便地进行 Python 的开发、调试和测试。PyQt5 是一个用于 Python 编程语言的 GUI 框架,可以实现图形用户界面的开发。在 PyCharm 中使用 PyQt5 可以帮助你更快、更方便地进行 GUI 程序的开发。 下面是使用 PyCharm 和 PyQt5 进行 GUI 程序开发的步骤: 1. 安装 PyCharm 首先,需要从 PyCharm 官网下载并安装 PyCharm。可以选择社区版或专业版,社区版是免费的,专业版需要付费。 2. 安装 PyQt5 可以使用 pip 工具安装 PyQt5,命令如下: pip install pyqt5 3. 创建 PyCharm 项目 打开 PyCharm,点击 "Create New Project" 创建一个新的项目。 4. 创建 PyQt5 窗口 在项目中创建一个 Python 文件,并编写 PyQt5 窗口的代码。以下是一个简单的 PyQt5 窗口例子: ```python import sys from PyQt5.QtWidgets import QApplication, QWidget if __name__ == '__main__': app = QApplication(sys.argv) window = QWidget() window.setWindowTitle('PyQt5 Example') window.setGeometry(100, 100, 300, 200) window.show() sys.exit(app.exec_()) 5. 运行程序 在 PyCharm 中点击 "Run" 按钮运行程序,就可以看到创建的 PyQt5 窗口了。 以上就是使用 PyCharm 和 PyQt5 进行 GUI 程序开发的基本步骤。当然,还有很多其他的组件和功能可以用来开发更复杂的 GUI 程序。
html = '''<link href="https://blog.csdn.net/LaoYuanPython"/><title>老猿Python</title><div>老猿Python网址:https://blog.csdn.net/LaoYuanPython</div>''' self.plainTextEdit.appendHtml(html) self.plainTextEdit.appendPlainText('\n************************************************\n') self.plainTextEdit.appendPlainText(html) 执行后界面显示效果如下: appendPlainText():槽方法,用于在编辑器末尾增加一段参数所指的纯文本blockCount()方法:用于获取文档中的块数,空文档的块数为1canPaste()方法:用于返回是否可以从剪切板中粘贴文本到编辑器中clear()方法:槽方法,清楚编辑器中所有文本,redo/undo历史也会被清除copy()方法:槽方法,用于将编辑器中选中文本拷贝到剪切板中cut()方法:槽方法,用于将编辑器中选中文本拷贝到剪切板中后删除createStandardContextMenu()方法: 这个方法都用于创建在编辑器中使用鼠标右键时显示的弹出菜单,只不过有带参和不带参的两种调用方式,带参数的是在文档中指定位置弹出,这样可以实现在编辑器的不同位置会弹出不同的快捷菜单。调用语法:createStandardContextMenu()、createStandardContextMenu(QPoint position)currentCharFormat()方法:返回当前的字符格式,其类型为QTextCharFormat,QTextCharFormat用于控制QTextEdit中的文本格式(这些文本的存储类型为QTextDocument对象,可以通过QTextEdit的document()方法获取,关于QTextCharFormat和QTextDocument对象在本文中不详细介绍),这些文本格式控制信息用于指定文本的一些可视化格式,如同超文本中的可视化格式控制信息cursorForPosition()方法:返回指定位置的QTextCursor文本光标对象,QTextCursor文本光标是通过模拟文本编辑器中光标行为的编程接口,用于访问和修改文本文档的内容和底层结构的对象。QTextCursor包含有关光标在QTextDocument中的位置及其所做的任何选择的信息。QTextCursor是根据文本光标在文本编辑器中的行为方式建模的,它提供了通过用户界面执行标准操作的编程方法。document()方法:document方法返回文本编辑器依赖的QTextDocument文档管理对象,通过该对象可以对文本进行丰富的操作,可以调用setDocument方法改变文本编辑器的文档对象ensureCursorVisible()方法:使用该方法确保编辑器中的光标可见,如果当前不可见则可以滚动文本find()方法:在编辑器中查找指定字符串,调用语法: bool find(str exp, QTextDocument.FindFlags options = QTextDocument.FindFlags()) bool find(QRegExp exp, QTextDocument.FindFlags options = QTextDocument.FindFlags()) 其中的exp可以是普通字符串,也可是QRegExp 类型的正则表达式,其中options用于指定是向前或向后查找、查找时是否匹配大小写、是否整词匹配,具体取值请参考官方文档。当exp为正则表达式则是否匹配大小写的选项被忽略,而是由正则表达式来控制是否匹配大小写 insertPlainText()方法:将参数给定文本插入当前位置moveCursor()方法:控制编辑器中光标进行移动,调用语法:moveCursor(operation, mode = QTextCursor.MoveAnchor),其中operation为枚举类型QTextCursor.MoveOperation,用于控制光标的移动方式,如移动到文档开始、移动到行首等,具体取值参考官方文档,mode 为枚举类型QTextCursor.MoveMode,具体取值参考官方文档paste()方法:paste是槽方法,将剪切板的文本拷贝到当前位置redo()、undo()方法:undo、redo是槽方法,undo()方法执行后可以使用redo重新执行最后一次的操作selectAll()方法:selectAll是槽方法,选择所有文本setCurrentCharFormat()方法:设置文本格式控制信息,调用语法:setCurrentCharFormat(QTextCharFormat format)setTextCursor()方法:setTextCursor方法用于设置当前可见的光标对象,调用语法:setTextCursor(QTextCursor cursor),当前光标对象可通过textCursor()方法获取zoomIn()、zoomOut()方法:两者都是槽方法,放大或缩小文本字体的大小指定参数大小,基本字体大小可以通过setFontPointSize设置 blockCountChanged(int newBlockCount):当文本中块数发生变化时发射该信号,参数为最新的块数copyAvailable(bool yes):当文本被选中或去选中时发射该信号,表示是否可拷贝,选中是yes为True,去选中时为FalsecursorPositionChanged():光标位置改变时发射该信号modificationChanged(bool changed):文档的内容发生改变(包括undo和redo操作引发的文档内容改变)时就发射该信号redoAvailable(bool available):当redo的状态发生变化时发射该信号:selectionChanged():当选择文本发生变化时发射该信号textChanged():当文本内容发生变化时发射该信号undoAvailable(bool available):当undo的状态发生变化时发射该信号updateRequest(QRect rect, int dy):当文本文档需要更新指定的rect区域时,会发出此信号。如果文本是滚动的,rect将覆盖整个视区。如果文本是垂直滚动的,则dy携带滚动的视区像素数。该信号的目的是支持纯文本编辑子类中的额外部件,例如显示行号、断点或其他额外信息。 QPlainTextEdit的很多功能支持技术与 QTextEdit相同。与QTextEdit相同,QPlainTextEdit中的文本对象依赖于QTextDocument类进行管理,QTextDocument类借助QTextCursor可以对文本进行丰富的操作。但限于时间和篇幅,本文并没有对QTextDocument和QTextCursor进行详细介绍。大家可以参考概述部分老猿提供的参考文档或者官网文档。
执行后界面显示效果如下:
createStandardContextMenu()、createStandardContextMenu(QPoint position)
其中的exp可以是普通字符串,也可是QRegExp 类型的正则表达式,其中options用于指定是向前或向后查找、查找时是否匹配大小写、是否整词匹配,具体取值请参考官方文档。当exp为正则表达式则是否匹配大小写的选项被忽略,而是由正则表达式来控制是否匹配大小写
moveCursor(operation, mode = QTextCursor.MoveAnchor)
setCurrentCharFormat(QTextCharFormat format)
setTextCursor(QTextCursor cursor)
QPlainTextEdit的很多功能支持技术与 QTextEdit相同。与QTextEdit相同,QPlainTextEdit中的文本对象依赖于QTextDocument类进行管理,QTextDocument类借助QTextCursor可以对文本进行丰富的操作。但限于时间和篇幅,本文并没有对QTextDocument和QTextCursor进行详细介绍。大家可以参考概述部分老猿提供的参考文档或者官网文档。
老猿Python,跟老猿学Python! 专栏:Python基础教程目录专栏:使用PyQt开发图形界面Python应用专栏:PyQt入门学习老猿Python博文目录 专栏:Python基础教程目录专栏:使用PyQt开发图形界面Python应用专栏:PyQt入门学习老猿Python博文目录一、概述QPlainTextEdit是用于纯文本的一个高级文档编辑器部件,为支持处理大文档和快速响应用户输入进行了特定优惠。QPlainTextEdit的很多功能支持技术与 QTextEdit相同。QPlainTextEdit处理文本是按段和字符,段落是一个格式化... self.textEdit_6.setPlainText(Hello World) 以上这篇PYQT5设置textEdit自动滚屏的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。 您可能感兴趣的文章:PyQT5 QTableView显示绑定数据的实例详解PyQt5 QTableView设置某一列不可编辑的方法 QPlainTextEdit 是一个多行文本编辑器,用于显示和编辑多行简单文本。另外,还有一个 QTextEdit 组件,是一个所见即所得的可以编辑带格式文本的组件,以 HTML 格式标记符定义文本格式。 实例 samp4_6 演示 QPlainTextEdit(和 QComboBox)的使用,其运行时界面如图 1 所示。 图 1 实例运行界面 从《QComboBox》一节中的代码实现己经... 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTreeWidget的itemAt方法通过视口内的坐标点获取对应坐标位置的项,相关调用方法如下: QTreeWidgetItem itemAt( QPoint p) QTreeWidgetItem itemAt(int x, int y) 通过该方法可以获取到视口上对应坐标所在的项,如果对应坐标位置无项则返回None。 以下代码输出树型部件视口范围内的所有项首列文本: def showAllVisibleItem(self): height = self.t PyCharm 是一款 Python 集成开发环境(IDE),可以方便地进行 Python 的开发、调试和测试。PyQt5 是一个用于 Python 编程语言的 GUI 框架,可以实现图形用户界面的开发。在 PyCharm 中使用 PyQt5 可以帮助你更快、更方便地进行 GUI 程序的开发。 下面是使用 PyCharm 和 PyQt5 进行 GUI 程序开发的步骤: 1. 安装 PyCharm 首先,需要从 PyCharm 官网下载并安装 PyCharm。可以选择社区版或专业版,社区版是免费的,专业版需要付费。 2. 安装 PyQt5 可以使用 pip 工具安装 PyQt5,命令如下: pip install pyqt5 3. 创建 PyCharm 项目 打开 PyCharm,点击 "Create New Project" 创建一个新的项目。 4. 创建 PyQt5 窗口 在项目中创建一个 Python 文件,并编写 PyQt5 窗口的代码。以下是一个简单的 PyQt5 窗口例子: ```python import sys from PyQt5.QtWidgets import QApplication, QWidget if __name__ == '__main__': app = QApplication(sys.argv) window = QWidget() window.setWindowTitle('PyQt5 Example') window.setGeometry(100, 100, 300, 200) window.show() sys.exit(app.exec_()) 5. 运行程序 在 PyCharm 中点击 "Run" 按钮运行程序,就可以看到创建的 PyQt5 窗口了。 以上就是使用 PyCharm 和 PyQt5 进行 GUI 程序开发的基本步骤。当然,还有很多其他的组件和功能可以用来开发更复杂的 GUI 程序。