【Hello,PyQt】QTextEdit和QSplider

PyQt5 是一个强大的Python库,用于创建图形用户界面(GUI)。其中,QTextEdit 控件作为一个灵活多用的组件,常用于显示和编辑多行文本内容,支持丰富的格式设置和文本操作功能。另外,QSlider 控件是一个用于选择数值范围的滑块组件,可用于调节参数或进行数据筛选等任务。这篇博客中将介绍 QTextEdit 和 QSlider 控件的各种功能和用法,帮助您更好地利用这两个强大的控件。

什么是QTextEdit控件

之前的文章介绍了QLineEdit这个控件,它只能进行单行的文本编辑,而QTextEdit控件是可以多行文本编辑

如何创建QTextEdit控件

直接调用QTextEdit的构造函数就可以创建一个QTextEdit对象,可以直接放到窗口上,也可以放到布局上。

from PyQt5.QtWidgets import QApplication, QTextEdit, QVBoxLayout, QWidgetapp = QApplication([])
widget = QWidget()
text_edit = QTextEdit()
layout = QVBoxLayout()
layout.addWidget(text_edit)
widget.setLayout(layout)
widget.show()
app.exec_()

在这里插入图片描述

QTextEdit控件的功能

常用方法

QTextEdit类中常用的方法

方法描述
setPlainText()设置多行文本框的内容
toPlainText()返回多行文本框的文本内容
setHtml()设置多行文本框的文本内容为HTML文档,HTML文档是描述网页的
toHtml()返回多行文本框的HTML内容
clear()清除多行文本框的内容

文本编辑

from PyQt5.QtWidgets import QApplication, QMainWindow, QTextEditapp = QApplication([])
window = QMainWindow()
text_edit = QTextEdit()
text_edit.setPlainText("Hello, PyQt5!")
window.setCentralWidget(text_edit)
window.show()
app.exec_()

在这里插入图片描述

HTML

QTextEdit控件的一个强大的特性是支持HTML格式的文本显示和编辑。这意味着可以在文本中使用HTML标记来实现更加丰富的文本格式。
将HTML格式的文本传递给QTextEdit控件的setHtml()方法,控件就会以HTML格式显示文本内容

from PyQt5.QtWidgets import QApplication, QMainWindow, QTextEditapp = QApplication([])
window = QMainWindow()
text_edit = QTextEdit()
html_text = "<h1 style='color: purple;'>Hello, PyQt5!</h1>"
text_edit.setHtml(html_text)
window.setCentralWidget(text_edit)
window.show()
app.exec_()

在这里插入图片描述

和QSlider控件结合的字体大小调整

QSlider的一些常用方法

方法描述
setMinimum()设置滑动条控件的最小值
setMaximum()设置滑动条控件的最大值
setSingleStep()设置滑动条控件的步长
setValue()设置滑动条控件的值
value()获取滑动条控件的值
setTickInterval()设置刻度间隔
setTickPosition()设置刻度标记的位置,可以输入一个枚举值,这个枚举值指定刻度线想当与滑块和用户操作的位置,以下是可以输入的枚举值:
from PyQt5.QtWidgets import QApplication, QMainWindow, QTextEdit, QSlider, QVBoxLayout, QWidget
from PyQt5.QtCore import Qtdef change_font_size(value):font_size = valuefont = text_edit.font()font.setPointSize(font_size)text_edit.setFont(font)app = QApplication([])
window = QMainWindow()
central_widget = QWidget()
layout = QVBoxLayout()text_edit = QTextEdit()
slider = QSlider(Qt.Horizontal)# 创建水平方向的滑块
slider.setRange(8, 24)  # 设置字体大小范围
slider.setValue(12)     # 设置默认字体大小
slider.setTickPosition(QSlider.TicksBelow)  # 设置刻度位置
slider.setTickInterval(2)                    # 设置刻度间隔
slider.valueChanged.connect(change_font_size)layout.addWidget(text_edit)
layout.addWidget(slider)
central_widget.setLayout(layout)window.setCentralWidget(central_widget)
window.show()app.exec_()

拖动滑块的过程中会触发valueChanged信号,连接了valueChanged信号的槽函数change_font_size会根据滑块的值改变QTextEdit控件中的字体大小,这样就实现了对文本字体的大小进行动态调整。
在这里插入图片描述

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

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

相关文章

JavaScript高级 —— 学习(二)

目录 一、深入对象 &#xff08;一&#xff09;创建对象三种方式 1.利用对象字面量创建 2.利用 new Object() 创建 3.利用构造函数创建 &#xff08;二&#xff09;利用构造函数创建对象 1.构造函数介绍 2.约定 3.实例化执行过程 &#xff08;三&#xff09;实例成员…

git命令-项目使用

项目中用到的git命令&#xff0c;记录下来&#xff0c;后续项目可以直接用 配置命令 一次性设置&#xff1a; git config --global user.name "Your Name" git config --global user.email "youremailaddress.com"git config --global alias.pl "pu…

【React】React AJAX

在React中使用AJAX&#xff08;Asynchronous JavaScript and XML&#xff09;是一种常见的做法&#xff0c;用于从服务器获取数据并在组件中显示。尽管AJAX的名字中包含了XML&#xff0c;但现在更多地使用JSON&#xff08;JavaScript Object Notation&#xff09;作为数据交换格…

opengl草稿复习,承上启下(一)

目录 1、链接文件夹中的cpp 2、链接资源到输出目录 3、多编译目标 4、cmakelist添加库 4、添加glfw和glad 5、glfw运行 6、NDC、VBO、VAO 7、渐变三角形 8、渲染两个三角形 9、渲染两个三角形&#xff0c;同时基于原来颜色进行渐变 10、三角形渲染模块化 11、纹理渲…

Python API(happybase)操作Hbase案例

一、Windows下安装Python库&#xff1a;happybase pip install happybase -i https://pypi.tuna.tsinghua.edu.cn/simple 二、 开启HBase的Thrift服务 想要使用Python API连接HBase&#xff0c;需要开启HBase的Thrift服务。所以&#xff0c;在Linux服务器上&#xff0c;执行如…

Kerberos 认证 javax.security.auth.logon.LoginException:拒绝链接 (Connection refused)

kerberos 服务重启之后异常 项目中用到了hive 和hdfs &#xff0c;权限认证使用了Kerberos&#xff0c;因为机房异常&#xff0c;导致了Kerberos 服务重启&#xff0c;结果发现本来运行正常的应用服务hive 和hdfs 认证失败&#xff0c;报错信息是 典型的网络连接异常 排查思路…

软考 - 系统架构设计师 - 架构风格

软件架构风格是指描述特定软件系统组织方式的惯用模式。组织方式描述了系统的组成构件&#xff0c;以及这些构件的组织方式&#xff0c;惯用模式指众多系统所共有的结构和语义。 目录 架构风格 数据流风格 批处理架构风格 管道 - 过滤器架构风格 调用 / 返回风格 主程序…

动手学机器学习初探机器学习+习题

初探机器学习 “两只手”代表的是人工智能可以做的两大类任务&#xff0c;即预测与决策。 “四条腿”则代表支撑人工智能的四大类科学技术&#xff0c;包括搜索、推理、学习和博弈。 非参数化模型&#xff08;nonparametric model&#xff09;&#xff1a;与参数化模型相反&…

二、分布式事务

目录 二、分布式事务2.1 什么是分布式事务2.2 分布式事务产生的背景2.3 分布式事务产生的场景2.4 分布式事务理论4.1 CAP理论4.2 Base理论 5、分布式事务的解决方案 二、分布式事务 2.1 什么是分布式事务 一组操作会产⽣多个数据库session会话 此时就会出现分布式事务 2.2 分…

PTA----->幸运数字

一&#xff0c;题目&#xff1a; Rain Sure同学定义了幸运数字——如果一个正整数n是幸运数字&#xff0c;那么当且仅当n和(n1)/2都是素数。 现在给定q次查询&#xff1a; 第i次询问给定两个正整数li​,ri​&#xff0c;请你求出在区间[li​,ri​]中有多少个数字是幸运数字。…

我的第一个 VTK 程序

我的第一个 VTK 程序 我的第一个 VTK 程序VTK 可视化流程源程序运行结果 我的第一个 VTK 程序 环境&#xff1a; Visual Studio 2022 CommumityQt 6.2.3 MSVC2019 64位VTK 9.3.0 不会Cmake编译VTK库&#xff1f;看这个&#xff1a;使用 Cmake 对 VTK-9.3.0 进行编译 不会在…

代码随想录算法训练营第二十五天|17.电话号码的字母组合、39.组合总和

文档链接&#xff1a;https://programmercarl.com/ LeetCode17.电话号码的字母组合 题目链接&#xff1a;​​​​​​​​​​​​​​https://leetcode.cn/problems/letter-combinations-of-a-phone-number/ 思路&#xff1a; 理解本题后&#xff0c;要解决如下三个问题&…

Apache Hive的基本使用语法(一)

一、数据库操作 创建数据库 create database if not exists myhive;查看数据库 use myhive; desc database myhive;创建数据库并指定hdfs存储 create database myhive2 location /myhive2;删除空数据库&#xff08;如果有表会报错&#xff09; drop database myhive;…

基于jsp+mysql+Spring的SpringBoot招聘网站项目

基于jspmysqlSpring的SpringBoot招聘网站项目&#xff08;完整源码sql&#xff09;主要实现了管理员登录,简历管理,问答管理,职位管理,用户管理,职位申请进度更新,查看简历 博主介绍&#xff1a;多年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀…

图的应用之关键路径

1.AOV网&#xff08;Activity On Vertex NetWork&#xff09; 用DAG图表示一个工程。顶点表示活动&#xff0c; < V i , V j > <V_i,V_j> <Vi​,Vj​>表示 V i V_i Vi​必须先于活动 V j V_j Vj​进行 2.拓扑排序 &#xff08;1&#xff09;拓扑排序定义 …

同一个主机配置多个SSH key

使用git时&#xff0c;我们可能一个git客户端使用多个git服务器&#xff0c;比如github&#xff0c;自建gitlab&#xff0c;gitee&#xff0c;为了防止提交混乱&#xff0c;所以需要一一对应生成公私钥。 第一步&#xff1a; 使用ssh-keygen生成多对密钥对&#xff0c;比如&…

静态NAT配置

静态NAT配置 配置命令&#xff08;详细&#xff09;&#xff1a;ip nat inside source static 协议 内部IP地址 端口 外部IP地址 端口 extendable 例如下图&#xff1a; 配置命令&#xff1a; 第一步&#xff08;说明通告地址&#xff09;&#xff1a;ip nat inside source sta…

Chrome浏览器 安装Vue插件vue-devtools

前言 vue-devtools 是一个为 Vue.js 开发者设计的 Chrome 插件。它可以让你更轻松地审查和调试 Vue 应用程序。与普通的浏览器控制台工具不同&#xff0c;Vue.js devtools 专为 Vue 的响应性数据和组件结构量身定做。 1. 功能介绍 组件树浏览&#xff1a;这个功能可以让你查…

信息工程大学第五届超越杯程序设计竞赛(同步赛)题解

比赛传送门 博客园传送门 c 模板框架 #pragma GCC optimize(3,"Ofast","inline") #include<bits/stdc.h> #define rep(i,a,b) for (int ia;i<b;i) #define per(i,a,b) for (int ia;i>b;--i) #define se second #define fi first #define e…

MySQL 索引失效场景总结

查询条件有 or 假设在 customer_name 字段设置了普通索引&#xff0c;执行以下 sql&#xff1a; # type: ref, possible_keys: idx_customer_name, key: idx_customer_name # idx_customer_name 索引生效 explain select id, customer_name, company_name from t_user_info w…