python GUI库图形界面开发之PyQt5滑块条控件QSlider详细使用方法与实例


Posted in Python onFebruary 28, 2020

PyQt5滑块条控件QSlider介绍

QSlider控件提供一个垂直或者水平的滑动条,滑动条是一个用于控制有界值典型的控件,它允许用户沿水平或者垂直方向在某一范围内移动滑块,并将滑块所在的位置转换为一个合法范围内的整数值,有时候这中方式比输入数字或者使用SpinBox(计数器·)更加自然,在槽函数中对滑块所在位置的处理相当于从整数之间的最小值和最高值进行取值

一个滑块条控件可以以垂直或者水平的方式显示,在构造函数中进行设置

self.sp=QSlider(Qt.Horizontal)
self.sp=Qslider(Qt.Vertical)

QSlider类中常用的方法如表所示

方法 描述
setMinimum() 设置滑动条控件的最小值
setMaximum() 设置滑动条控件的最大值
setSingleStep() 设置滑动条控件的步长
setValue() 设置滑动条控件的值
value() 获取滑动条控件的值
setTickInterval() 设置刻度间隔
setTickPosition() 设置刻度标记的位置,可以输入一个枚举值,这个枚举值指定刻度线想当与滑块和用户操作的位置,以下是可以输入的枚举值:
QSlider.NoTicks:不绘制任何刻度线
QSlider.TicksBothSides:在滑块的两侧绘制刻度线
QSlider.TicksAbove:在滑块的(水平)上方绘制刻度线
QSlider.TicksBelow:在滑块的(水平)下方绘制刻度线
QSlider.TicksLeft:在滑块的(垂直)左侧绘制刻度线
QSlider.TicksRight,在滑块的(垂直)右侧绘制刻度线

QSlider类中的常用信号

信号 描述
vlaueChanged 当滑块的值发生改变时发射此信号,此信号是最常用的
sliderPressed 当用户按下滑块时发射此信号
sliderMoved 当用户拖动滑块时发射此信号
slierReleased 当用户释放滑块时发射此信号

QSlider的使用实例

通过滑块控制字体的大小

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *

class SliderDemo(QWidget):
  def __init__(self,parent=None):
    super(SliderDemo, self).__init__(parent)
    #设置标题与初始大小
    self.setWindowTitle('QSlider例子')
    self.resize(300,100)

    #垂直布局
    layout=QVBoxLayout()

    #创建标签,居中
    self.l1=QLabel('Hello PyQt5')
    self.l1.setAlignment(Qt.AlignCenter)
    layout.addWidget(self.l1)
    #创建水平方向滑动条
    self.s1=QSlider(Qt.Horizontal)
    ##设置最小值
    self.s1.setMinimum(10)
    #设置最大值
    self.s1.setMaximum(50)
    #步长
    self.s1.setSingleStep(3)
    #设置当前值
    self.s1.setValue(20)
    #刻度位置,刻度下方
    self.s1.setTickPosition(QSlider.TicksBelow)
    #设置刻度间距
    self.s1.setTickInterval(5)
    layout.addWidget(self.s1)
    #设置连接信号槽函数
    self.s1.valueChanged.connect(self.valuechange)

    self.setLayout(layout)

  def valuechange(self):
    #输出当前地刻度值,利用刻度值来调节字体大小
    print('current slider value=%s'%self.s1.value())
    size=self.s1.value()
    self.l1.setFont(QFont('Arial',size))

if __name__ == '__main__':
  app=QApplication(sys.argv)
  demo=SliderDemo()
  demo.show()
  sys.exit(app.exec_())

运行效果图如下

python GUI库图形界面开发之PyQt5滑块条控件QSlider详细使用方法与实例

python GUI库图形界面开发之PyQt5滑块条控件QSlider详细使用方法与实例

代码分析:

在这个例子中,将一个标签和一个水平滑动条放置在一个垂直布局管理器中,将滑块的valueChanged信号连接到valuechange()函数

self.s1.valueChanged.connect(self.valuechange)

槽函数valuechange()读取滑块的当前值,并将其作为字号的大小

size=self.s1.value()
self.l1.setFont(QFont('Arial',size))

使用setTickInterval(5)设置刻度间隔后,在绘制刻度时就会有几个刻度点,刻度点数=(最大值-最小值)/刻度间隔+1

self.s1.setMinimum(10)
self.s1.setMaximum(50)
self.s1.setTickInterval(5)

本文详细介绍了PyQt5滑块条控件QSlider使用方法与实例,更多关于PyQt5控件知识请查看下面的相关链接

Python 相关文章推荐
在Python的Django框架上部署ORM库的教程
Apr 20 Python
Python 的描述符 descriptor详解
Feb 27 Python
python实现电脑自动关机
Jun 20 Python
Python实现重建二叉树的三种方法详解
Jun 23 Python
Python实现随机创建电话号码的方法示例
Dec 07 Python
对python周期性定时器的示例详解
Feb 19 Python
Python编写合并字典并实现敏感目录的小脚本
Feb 26 Python
Python交互式图形编程的实现
Jul 25 Python
解决Python3下map函数的显示问题
Dec 04 Python
Python之关于类变量的两种赋值区别详解
Mar 12 Python
python中return不返回值的问题解析
Jul 22 Python
Python定义一个Actor任务
Jul 29 Python
Python接口测试get请求过程详解
Feb 28 #Python
python GUI库图形界面开发之PyQt5工具栏控件QToolBar的详细使用方法与实例
Feb 28 #Python
Python爬取365好书中小说代码实例
Feb 28 #Python
Python反爬虫伪装浏览器进行爬虫
Feb 28 #Python
使用wxpy实现自动发送微信消息功能
Feb 28 #Python
解决ROC曲线画出来只有一个点的问题
Feb 28 #Python
Python编程快速上手——正则表达式查找功能案例分析
Feb 28 #Python
You might like
实现树状结构的两种方法
2006/10/09 PHP
基于PHP导出Excel的小经验 完美解决乱码问题
2013/06/10 PHP
PHP函数分享之curl方式取得数据、模拟登陆、POST数据
2014/06/04 PHP
PHP实现简单的新闻发布系统实例
2015/07/28 PHP
thinkphp5 加载静态资源路径与常量的方法
2017/12/24 PHP
PHP解决高并发的优化方案实例
2020/12/10 PHP
javascript中的对象创建 实例附注释
2011/02/08 Javascript
利用jQuery插件扩展识别浏览器内核与外壳的类型和版本的实现代码
2011/10/22 Javascript
javascript动画对象支持加速、减速、缓入、缓出的实现代码
2012/09/30 Javascript
JavaScript异步编程:异步数据收集的具体方法
2013/08/19 Javascript
js 点击页面其他地方关闭弹出层(示例代码)
2013/12/24 Javascript
深入了解Node.js中的一些特性
2014/09/25 Javascript
JavaScript实现twitter puddles算法实例
2014/12/06 Javascript
AngularJS实现数据列表的增加、删除和上移下移等功能实例
2016/09/05 Javascript
如何使用jquery实现文字上下滚动效果
2016/10/12 Javascript
AngularJS使用ng-Cloak阻止初始化闪烁问题的方法
2016/11/03 Javascript
jQuery Validate 无法验证 chosen-select元素的解决方法
2017/05/17 jQuery
ES6学习之变量的两种命名方法示例
2017/07/18 Javascript
基于vue展开收起动画的示例代码
2018/07/05 Javascript
JS使用canvas中的measureText方法测量字体宽度示例
2019/02/02 Javascript
[05:46]2018完美盛典-《同梦共竞》
2018/12/17 DOTA
Python3实现的旋转矩阵图像算法示例
2019/04/03 Python
Python基本数据结构之字典类型dict用法分析
2019/06/08 Python
python 协程中的迭代器,生成器原理及应用实例详解
2019/10/28 Python
详解使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)
2020/04/01 Python
python dir函数快速掌握用法技巧
2020/12/09 Python
详解HTML5中rel属性的prefetch预加载功能使用
2016/05/06 HTML / CSS
电大毕业生自我鉴定
2013/11/10 职场文书
酒店总经理欢迎词
2014/01/15 职场文书
函授本科自我鉴定
2014/02/04 职场文书
征婚广告词
2014/03/17 职场文书
老师对学生的寄语
2014/04/09 职场文书
2014年医院科室工作总结
2014/12/20 职场文书
python实现进度条的多种实现
2021/04/29 Python
在项目中使用redis做缓存的一些思路
2021/09/14 Redis
Python Django项目和应用的创建详解
2021/11/27 Python