当前位置: 首页 > news >正文

【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.lryc.cn/news/328859.html

相关文章:

  • 【力扣】191.位 1 的个数、485.最大连续 1 的个数
  • 蓝桥杯 java 承压计算
  • leetcode268-Missing Number
  • 【jenkins+cmake+svn管理c++项目】jenkins回传文件到svn(windows)
  • 数据结构·二叉树(2)
  • MATLAB算法实战应用案例精讲-【毕业季论文专用】人工智能视觉检测技术及其在实际应用中的挑战与前景
  • Linux虚拟机环境搭建spark
  • STL的string容器
  • 半导体工艺技术
  • acwing算法提高之图论--单源最短路的扩展应用
  • SQLServer数据库使用Function实现根据字段内容的拼音首字母进行数据查询
  • Linux——信号概念与信号产生方式
  • 赋值语句还能当判断条件?涨芝士了!
  • 数据结构 - 算法效率|时间复杂度|空间复杂度
  • 接口自动化之 + Jenkins + Allure报告生成 + 企微消息通知推送
  • 『Apisix安全篇』探索Apache APISIX身份认证插件:从基础到实战
  • 【01-20】计算机网络基础知识(非常详细)从零基础入门到精通,看完这一篇就够了
  • 『大模型笔记』常见的分布式并行策略(分布式训练)
  • java 企业工程管理系统软件源码+Spring Cloud + Spring Boot +二次开发+ 可定制化
  • 3D数据格式导出工具HOOPS Publish如何生成高质量3D PDF?
  • 【springboot】闲话 springboot 的几种异步机制 及 长轮询的概念和简单实现
  • Mysql---安全值守常用语句
  • containerd快速安装指南
  • Javascript - 正则表达式相关的一些基础的范例
  • JUC:线程活跃性(死锁、活锁、饥饿)
  • RGB到灰度图像的转换原理及例程
  • PCA+DBO+DBSCN聚类,蜣螂优化算法DBO优化DBSCN聚类,适合学习,也适合发paper!
  • 创建数据库与表单以及管理表单和数据
  • Milvus+ATTU环境搭建
  • Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单实战案例 之八 简单水彩画效果