【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 sys

class 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, QFont

class 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()     # 文本自适应移动

运行结果:

在这里插入图片描述

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

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

力扣刷题篇之栈与队列3

系列文章目录 前言 本系列是个人力扣刷题汇总&#xff0c;本文是栈与队列。刷题顺序按照[力扣刷题攻略] Re&#xff1a;从零开始的力扣刷题生活 - 力扣&#xff08;LeetCode&#xff09; ​ 一、表达式求值 150. 逆波兰表达式求值 - 力扣&#xff08;LeetCode&#xff09; 方…

Harmony SDK API 版本 与 Harmony OS 版本对照表,及如何查看鸿蒙手机Harmony SDK Api 版本

Harmony SDK API 版本 与 Harmony OS 版本对照表 Harmony OSHarmony SDK APIHarmony 4.09Harmony 3.19Harmony 3.08Harmony 3.0 pre7Harmony 2.2.06Harmony 2.1.05Harmony 2.04 具体到真机上可能会有差异&#xff0c;如我的手机OS版本是2.0&#xff0c;按照上面表应该是4&…

[NSSRound#7 Team]ShadowFlag

文章目录 前置知识/proc目录python的反弹shellpin码计算 解题步骤 前置知识 /proc目录 Linux系统上的/proc目录是一种文件系统&#xff0c;用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息&#xff0c;甚至可以通过更改其中某些文件来改变内核的运行状态。/pro…

机器学习中的偏差漂移:挑战与缓解

一、介绍 机器学习算法已在各个行业得到广泛采用&#xff0c;在自动化流程、制定数据驱动决策和提高效率方面发挥着关键作用。然而&#xff0c;他们也面临着挑战&#xff0c;其中一个重要的问题是偏见。机器学习模型中的偏差可能会导致不公平和歧视性的结果&#xff0c;并对现实…

华为云优惠券介绍、领取入口及使用教程

华为云是华为的云服务品牌&#xff0c;致力于为用户提供一站式云计算基础设施服务。为了吸引用户&#xff0c;华为云经常推出各种优惠活动&#xff0c;其中就包括优惠券的发放&#xff0c;下面将为大家详细介绍华为云优惠券的作用、领取入口以及使用教程。 一、华为云优惠券介绍…

数据分析场景下,企业如何做好大模型选型和落地?

在数据驱动的数字化时代&#xff0c;有效的数据分析已成为企业成功的关键因素。而随着大模型带来能力突破&#xff0c;让AI与数据分析相互结合&#xff0c;使分析结果更好支撑业务&#xff0c;促进企业内部数据价值释放&#xff0c;成为了当下企业用户尤为关注的话题。 如何按照…

微信小程序项目——基本目录构成

基本构成 pages 用来存放所有小程序的页面&#xff1b;utils 用来存放工具性质的模块&#xff08;比如&#xff1a;格式化时间的自定义模块&#xff09;&#xff1b;app.js 小程序项目的入口文件&#xff1b;app.json小程序项目的全局配置文件&#xff1b;app.wxss 小程序项目…

黑马程序员微服务第四天课程 分布式搜索引擎1

分布式搜索引擎01 – elasticsearch基础 0.学习目标 1.初识elasticsearch 1.1.了解ES 1.1.1.elasticsearch的作用 elasticsearch是一款非常强大的开源搜索引擎&#xff0c;具备非常多强大功能&#xff0c;可以帮助我们从海量数据中快速找到需要的内容 例如&#xff1a; …

Bobo Python 学习笔记

安装 Bobo 可以通过通常的方式安装&#xff0c;包括使用setup.py install 命令。当然&#xff0c;您可以使用Easy Install、Buildout或pip。 安装bobo Collecting boboDownloading bobo-2.4.0.tar.gz (17 kB) Collecting WebObDownloading WebOb-1.8.7-py2.py3-none-any.whl…

如何搭建属于自己的AI数字人直播SAAS系统?

随着人工智能技术的不断发展&#xff0c;AI数字人直播正成为互联网行业的新宠。面向未来的AI数字人直播系统无疑是直播领域的新风口。虽然拥有众多优势&#xff0c;但从0到1搭建这个系统可能存在着资源、技术和时间的挑战。那么&#xff0c;如何可以快速搭建属于自己的AI数字人…

infercnv

文章目录 brief安装使用体验输入文件制作运行试试吧结果部分others brief InferCNV is used to explore tumor single cell RNA-Seq data to identify evidence for somatic large-scale chromosomal copy number alterations, such as gains or deletions of entire chromoso…

老师的保命大法

数字化高度发达的今天&#xff0c;成绩查询系统已经成为学校教育中不可或缺的一部分。不同于传统的成绩公布方式&#xff0c;成绩查询系统更加高效、便捷&#xff0c;同时也充分保障了每位学生的隐私&#xff0c;今天就来揭秘这个教师保命大法&#xff01; 1、代码查询法 对于…

视频集中存储/云存储平台EasyCVR级联下级平台的详细步骤

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…

『亚马逊云科技产品测评』活动征文|阿里云服务器亚马逊服务器综合评测

授权声明&#xff1a;本篇文章授权活动官方亚马逊云科技文章转发、改写权&#xff0c;包括不限于在 Developer Centre, 知乎&#xff0c;自媒体平台&#xff0c;第三方开发者媒体等亚马逊云科技官方渠道 文章目录 引言一、亚马逊&阿里云发展历史介绍1.1 亚马逊发展历史1.2…

wps卸载和重新安装

卸载WPS sudo apt remove wps-office安装WPS 下载地址 安装命令 sudo dpkg -i wps-office_11.1.0.11708_amd64.debsunyuhuasunyuhua-HKF-WXX:~$ sudo dpkg -i wps-office_11.1.0.11708_amd64.deb 正在选中未选择的软件包 wps-office。 (正在读取数据库 ... 系统当前共安装…

Linux安装jdk1.8教程(服务器可以访问网络)

文章目录 前言创建安装目录查看是否安装过下载解压配置环境变量查看是否安装成功 前言 本教程介绍了一种快捷的jdk1.8安装方法。 创建安装目录 mkdir -p /opt/software // 这是我自己的安装目录&#xff0c;根据自己的习惯确定查看是否安装过 rpm -qa | grep -i jdk需要注意…

达梦集群搭建

一、数据库安装 ###&#xff08;一&#xff09;安装前准备 版本准备 [rootlocalhost ~]# uname -a Linux localhost.localdomain 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux将镜像文件传到/opt目录下 [rootlocalhost100 …

【软考】系统集成项目管理工程师【总】

引言 本来整理这篇文章的目的是方便自己23年考试用的 效果不错 目标完成。 接下来的目标是把这篇文章 做成参加该软考 小伙伴的唯一参考资料&#xff08;有它就够了&#xff09;来持续更新。。。 这篇文章我将当作一个长周期&#xff08;以年为单位&#xff09;项目运维起来&am…

二维码在区域巡查中的应用:隐患上报、巡逻巡更、管线巡查

针对管理制度不健全、维修不及时、纸质表格容易丢失等问题&#xff0c;可以在草料上搭建区域巡查二维码系统。通过组合功能模块的方式&#xff0c;实现扫码记录巡查情况、上报隐患和整改信息、发现异常问题后及时反馈给相关负责人等功能。 比如上海延吉物业管理有限公司搭建的…

vue2+antd——实现权限管理——js数据格式处理(回显+数据结构渲染)

vue2antd——实现权限管理——js数据格式处理 效果图如下&#xff1a;1.需求说明2.如何展开所有子项及孙子项目——在弹窗之前就获取树形结构&#xff0c;然后直接将数据传到弹窗中3.template部分代码4.script的data部分5.权限tree数据处理——将row中的权限分配到具体的value参…