【PyQt小知识 - 2】:QTextEdit内容的更新和获取、隐藏或显示滚动条、光标插入文本、文本自适应移动

文章目录

  • QTextEdit
    • 更新和获取内容
    • 隐藏或显示滚动条
    • 光标插入文本
    • 文本自适应移动

QTextEdit

更新和获取内容

更新:QTextEdit().setText(text)QTextEdit().setPlainText(text)
获取:QTextEdit().toPlainText()

setText()setPlainText()的区别:

  • setText()方法可以接受HTML格式的文本,并且会解析并显示HTML标签。这意味着可以在QTextEdit中使用富文本格式,例如加粗,斜体,字体颜色等。示例代码如下:
text_edit.setText("<b>Bold Text</b>")

上述代码将在QTextEdit中显示为粗体文本。

  • setPlainText()方法仅接受纯文本,它不会解析或显示HTML标签。这意味着所有的HTML标签都会被当做纯文本显示。示例代码如下:
text_edit.setPlainText("<b>Bold Text</b>")

上述代码将在QTextEdit中直接显示<b>Bold Text</b>的纯文本。

更新和获取内容示例代码:

from PyQt5.QtWidgets import *
import sysclass Window(QMainWindow):def __init__(self):super().__init__()# 窗口设置self.resize(300, 300)self.setup_ui()def setup_ui(self):textEdit = QTextEdit(self)textEdit.resize(100, 100)textEdit.setText('12345')button1 = QPushButton('更新', self)button1.move(50, 150)button1.clicked.connect(lambda: textEdit.setText('更新内容'))button2 = QPushButton('获取', self)button2.move(50, 200)button2.clicked.connect(lambda: print(textEdit.toPlainText()))if __name__ == '__main__':app = QApplication(sys.argv)window = Window()window.show()sys.exit(app.exec_())

运行结果:

在这里插入图片描述
在这里插入图片描述

隐藏或显示滚动条

要隐藏或显示QTextEdit的垂直和水平滚动条,可以使用setVerticalScrollBarPolicy()setHorizontalScrollBarPolicy()方法。

以下是示例代码:

隐藏垂直滚动条:

from PyQt.QtCore import Qt
textEdit.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff)

显示垂直滚动条:

from PyQt.QtCore import Qt
textEdit.setVerticalScrollBarPolicy(Qt.ScrollBarAsNeeded)

隐藏水平滚动条:

from PyQt.QtCore import Qt
textEdit.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)

显示水平滚动条:

from PyQt.QtCore import Qt
textEdit.setHorizontalScrollBarPolicy(Qt.ScrollBarAsNeeded)

光标插入文本

from PyQt5.QtWidgets import *
import sys
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QTextCharFormat, QFontclass Window(QMainWindow):def __init__(self):super().__init__()# 窗口设置self.resize(300, 300)self.setup_ui()def setup_ui(self):self.textEdit = QTextEdit(self)self.textEdit.resize(100, 100)self.cursor = self.textEdit.textCursor()     # 获取光标button1 = QPushButton('插入', self)button1.move(50, 150)button1.clicked.connect(self.insertNewText)# 光标位置插入内容def insertNewText(self):format = QTextCharFormat()  # 实现局部文本格式特征的设置format.setForeground(Qt.red)    # 设置字体颜色format.setFont(QFont('宋体', 12))self.cursor.insertText('1\n', format)if __name__ == '__main__':app = QApplication(sys.argv)window = Window()window.show()sys.exit(app.exec_())

运行结果:

在这里插入图片描述

文本自适应移动

文本自适应移动,即在每次插入内容后,显示光标所在的位置即可。
QTextEdit().ensureCursorVisible()

以以上代码为例

    # 光标位置插入内容def insertNewText(self):format = QTextCharFormat()  # 实现局部文本格式特征的设置format.setForeground(Qt.red)    # 设置字体颜色format.setFont(QFont('宋体', 12))self.cursor.insertText('1\n', format)self.textEdit.ensureCursorVisible()     # 文本自适应移动

运行结果:

在这里插入图片描述

观察“光标插入文本”的运行结果中文本框的滚动条和本次运行结果中的滚动条:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/189826.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据库编程sqlite3库安装及使用

数据库编程 数据库的概念 数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。 数据库是存放数据的仓库。它的存储空间很大&#xff0c;可以存放百万条、千万条、上亿条数据。但是数据库并不是…

无需添加udid,ios企业证书的自助生成方法

我们开发uniapp的app的时候&#xff0c;需要苹果证书去打包。 假如申请的是个人或company类型的苹果开发者账号&#xff0c;必须上架才能安装&#xff0c;异常的麻烦&#xff0c;但是有一些app&#xff0c;比如企业内部使用的app&#xff0c;是不需要上架苹果应用市场的。 假…

wpf devexpress 开始点

此教程示范如何创建registration form和DevExpress WPF Data Editors 开始点 此项目源码 这个解决方案包含几个项目-每一个项目对应一个教程 RegistrationForm.BaseProject项目是基于工作的解决方案。项目包含三个视图&#xff1a;MainView&#xff0c;RegistraionView&…

4月2日-3日·上海 | 3DCC 第二届3D细胞培养与类器官研发峰会携手CGT Asia 重磅来袭

类器官&#xff08;Organoids&#xff09;作为干细胞研究领域最重要的成果之一&#xff0c;在基础医学研究、转化医学及药物研发领域展现出巨大的应用潜力&#xff0c;特别是在精准医疗以及药物安全性和有效性评价等方向凭借其先天优势引起了极大的市场关注&#xff0c;成为各大…

盘点52个Python各行各业管理系统源码Python爱好者不容错过

盘点52个Python各行各业管理系统源码Python爱好者不容错过 学习知识费力气&#xff0c;收集整理更不易。 知识付费甚欢喜&#xff0c;为咱码农谋福利。 源码下载链接&#xff1a;https://pan.baidu.com/s/1pcP-94UY_57sAd2oDB3i6Q?pwd8888 提取码&#xff1a;8888 项目名…

九. Linux网络命令

网络命令write 网络命令wall 网络命令ping 首先&#xff0c;ping程序会向域名服务器(DNS)发送请求&#xff0c;解析域名www.baidu.com的IP地址。DNS返回域名的一个别名www.a.shifen.com以及对应的IP地址183.2.172.185。之后ping程序开始向这个地址发送请求报文&#xff0c;每1s…

CSS滚动捕获 scroll-snap-align

CSS滚动捕获 scroll-snap-align 看到 align, 就条件反射想到对齐方式, 嗯猜对了. 不过要先看一下若干名词介绍 scroll-snap-align 指定了盒子的 snap position, 即盒子 snap area 和滚动容器的 snapport 的对齐方式. 这个属性是定义在滚动元素上, 而不是滚动容器上 语法 这个…

新材料企业ERP有几种?能帮助企业解决哪些问题

在我们的生活当中会遇到各种各样的新材料&#xff0c;这些新材料对应不同的制造工艺、品质检验标准、生产工序、制造设备等。有些新材料企业的营销渠道不止一个&#xff0c;各个营销平台的经营策略和商品维护流程各不相同&#xff0c;而这也使得日常的管理工作量较大。 经过多…

医院数字化LIS(检验信息系统)源码

临床检验信息管理系统&#xff08;LIS&#xff09;是利用计算机连接医疗设备&#xff0c;通过计算机信息处理技术&#xff0c;将医院检验科或实验室的临床检验数据进行自动收集、存储、处理、提取、传输和交换&#xff0c;满足所有授权用户的功能需求。 一、系统概述 1.LIS&am…

和鲸 ModelWhale 入驻华为蓝鲸应用商城,助力大模型时代 AI 赋能应用落地

近日&#xff0c;和鲸旗下数据科学协同平台 ModelWhale 成功入驻华为蓝鲸应用商城&#xff0c;这也是继和鲸与华为发布数据分析建模实训联合解决方案后的再度携手&#xff0c;标志着双方的合作进入更全面、更深入的新阶段。 华为蓝鲸应用商城是华为数据存储面向客户提供的一站…

【OpenAI开发者大会,全新大模型它来了,价格大跌...】

继今年春天发布 GPT-4 之后&#xff0c;OpenAI 又创造了一个不眠夜。 过去一年&#xff0c;ChatGPT 绝对是整个科技领域最热的词汇。 北京时间 11 月 7 日凌晨 02:00&#xff0c;OpenAI 的首次 DevDay 开发者日活动正式开始。Keynote 主论坛环节由 Sam Altman 主讲并在油管现…

在线 sha1 加密

ttmd5 http://www.ttmd5.com/hash.php?type5 qqxiuzi https://www.qqxiuzi.cn/bianma/sha-1.htm jb51 http://tools.jb51.net/password/sha_encode