【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.mzph.cn/news/143475.shtml

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

相关文章

大文件分片上传、断点续传、秒传

小文件上传 后端&#xff1a;SpringBootJDK17 前端&#xff1a;JavaScriptsparkmd5.min.js 一、依赖 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.1.2</ve…

1 Supervised Machine Learning Regression and Classification

文章目录 Week1OverViewSupervised LearningUnsupervised LearningLinear Regression ModelCost functionGradient Descent Week2Muliple FeatureVectorizationGradient Descent for Multiple RegressionFeature ScalingGradient DescentFeature EngineeringPolynomial Regress…

UE5 - UI Material Lab 学习笔记

1、学习资料收集 UI Material Lab : https://www.unrealengine.com/marketplace/zh-CN/product/ui-material-lab 视频1&#xff1a;https://www.bilibili.com/video/BV1Hm4y1t7Kn/?spm_id_from333.337.search-card.all.click&vd_source707ec8983cc32e6e065d5496a7f79ee6 视…

记录一次 添加脚本的记录+改错记录

1.Update 和 Delete 一定要记得where条件 update 表名称 set 字段1‘修改的值’ &#xff08;单引号&#xff09; where 字段‘’ and Aid‘’; update jxkh22 set JXKH2200001 ,JXKH2201002 where B003 and JXKH22034;delete from table_name where condition delete from …

Linux控制---进程程序替换

前言&#xff1a;前面我们学洗了Linux进程退出的相关知识&#xff0c;了解了什么是进程退出&#xff0c;已经进程等待的相关话题&#xff0c;今天&#xff0c;我们来学习Linux中的进程程序替换&#xff0c;进程程序替换在Linux中可以用于实现新程序的启动、程序升级、多进程程序…

11.10 知识总结(数据的增删改查、如何创建表关系、Django框架的请求生命周期流程图)

一、 数据的增删改查 1.1 用户列表的展示 把数据表中得用户数据都给查询出来展示在页面上 添加数据 id username password gender age action 修改 删除 1.2 修…

【数据库开发】DataX开发环境的安装部署(Python、Java)

文章目录 1、简介1.1 DataX简介1.2 DataX功能1.3 支持的数据通道 2、DataX安装配置2.1 DataX2.2 Java2.3 Python 3、DataX Web安装配置3.1 mysql3.2 DataX Web3.2.1 简介3.2.2 架构图3.2.3 依赖环境3.2.4 安装 4、入门使用4.1 DataX自带打印示例测试4.2 DataX生成任务模板文件4…

kubernetes集群编排——istio

官网&#xff1a;https://istio.io/latest/zh/about/service-mesh/ 部署 [rootk8s2 ~]# tar zxf istio-1.19.3-linux-amd64.tar.gz [rootk8s2 ~]# cd istio-1.19.3/[rootk8s2 istio-1.19.3]# export PATH$PWD/bin:$PATH demo专为测试准备的功能集合 [rootk8s2 istio-1.19.3]# i…

Linux文件系统之inode

文章目录 1. 磁盘1.1 认识磁盘1.2 磁盘物理构造1.3 磁盘逻辑结构 2. 文件系统3. 如何理解目录 1. 磁盘 1.1 认识磁盘 文件 内容 属性&#xff0c;而文件是存储在磁盘上&#xff0c;那么可以理解为磁盘上存储的文件 存储的文件内容 存储的文件属性。 文件的内容采用的是块式…

kube-bench-CIS基准的自动化扫描工具学习

仓库地址&#xff1a;GitHub - aquasecurity/kube-bench: Checks whether Kubernetes is deployed according to security best practices as defined in the CIS Kubernetes Benchmark kube-bench,检查 Kubernetes 是否根据 CIS Kubernetes 基准中定义的安全最佳实践部署,下载…

应用协议安全:Rsync-common 未授权访问.

应用协议安全&#xff1a;Rsync-common 未授权访问. Rsync 是 Linux 下一款数据备份工具&#xff0c;支持通过 rsync 协议、ssh 协议进行远程文件传输。其中 rsync 协议默认监听 873 端口&#xff0c;如果目标开启了 rsync 服务&#xff0c;并且没有配置 ACL 或访问密码&#…

Redis05-集群方案

目录 Redis集群方案 主从复制 主从复制的基本原理 主从复制的工作流程 乐观复制 主从复制的优势 哨兵机制 哨兵的关键作用 服务状态监控 哨兵选举Master规则 分片集群 分片集群中的数据读写 数据写入 数据读取 一致性哈希和客户端分片 Redis集群方案 微服务时代…

TDengine 与煤科院五大系统实现兼容性互认,助力煤矿智能化安全体系搭建

近日&#xff0c;涛思数据与煤炭科学技术研究院&#xff08;以下简称煤科院&#xff09;已完成数个产品兼容互认证工作&#xff0c;经双方共同严格测试&#xff0c;涛思数据旗下物联网、工业大数据平台 TDengine V3.X 与煤炭科学技术研究院旗下煤矿复合灾害监测监控预警系统、煤…

Elasticsearch docker-compose 使用 Logstash 从 JSON 文件中预加载数据

在我们创建 Elasticsearch 进行开发时&#xff0c;最简单的办法就是在本地使用 docker-compose 来一键部署一个 Elasticsearch 集群。有时&#xff0c;特别是在准备测试环境时&#xff0c;开发人员希望从一开始就创建包含一些测试数据的数据库容器。我们可以使用 Logstash 来很…

什么是自动化测试框架?

无论是在自动化测试实践&#xff0c;还是日常交流中&#xff0c;经常听到一个词&#xff1a;框架。之前学习自动化测试的过程中&#xff0c;一直对“框架”这个词知其然不知其所以然。 最近看了很多自动化相关的资料&#xff0c;加上自己的一些实践&#xff0c;算是对“框架”…

使用python电脑轻量级控制手机—adb命令和手机投屏

文章目录 一、通过无线连接手机和电脑二、使用adb命令轻量级控制手机二、使用scrcpy控制手机 通过电脑控制手机有多种方式如appnium等&#xff0c;本文介绍的是两种轻量级的方案&#xff0c;使用adb命令刚和手机投屏。 一、通过无线连接手机和电脑 1、手机设置 开发者选项—us…

使用 MATLAB HDL Coder 和 FPGA 快速实现自动白平衡(AWB)

使用 MATLAB HDL Coder 和 FPGA 快速实现自动白平衡&#xff08;AWB&#xff09; 在此项目中&#xff0c;我们将使用 MATLAB Simulink 和 HDL 编码器创建自定义 IP -- AWB。 MATLAB 设计 自动白平衡模块的设计是使用 HDL Coder 在 MATLAB 和 Simulink 中创建的。HDL Coder能够生…

11.15 知识总结(模板层、模型层)

一、 模板层 1.1 过滤器 1.什么是过滤器&#xff1f; 过滤器类似于python的内置函数&#xff0c;用来把变量值加以修饰后再显示。 2. 语法 1、 {{ 变量名|过滤器名 }} 2、链式调用&#xff1a;上一个过滤器的结果继续被下一个过滤器处理 {{ 变量名|过滤器1|过滤器2 }} 3、有的过…

idea中搭建Spring boot项目(借助Spring Initializer)

创建新项目 启动端口 在项目配置文件application.properties中写入 #启动端口server.port8088编写测试方法 创建控制类文件夹–>便于规范我们新建一个controller包–>建一个HelloWorld.class package com.example.hellospringboot.controller;import org.springframew…

Linux下MSSQL (SQL Server)数据库无法启动故障处理

有同事反馈一套CentOS7下的mssql server2017无法启动需要我帮忙看看&#xff0c;启动报错情况如下 检查日志并没有更新日志信息 乍一看mssql-server服务有问题&#xff0c;检查mssql也确实没有进程 既然服务有问题&#xff0c;那么我们用一种方式直接手工后台启动mssql引擎来…