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字符串处理之count()方法的使用
May 18 Python
Python实现优先级队列结构的方法详解
Jun 02 Python
python 字典 按key值大小 倒序取值的实例
Jul 06 Python
Python实现正整数分解质因数操作示例
Aug 01 Python
python实现决策树分类
Aug 30 Python
Python使用Selenium爬取淘宝异步加载的数据方法
Dec 17 Python
Python XML转Json之XML2Dict的使用方法
Jan 15 Python
Python设计模式之原型模式实例详解
Jan 18 Python
利用pytorch实现对CIFAR-10数据集的分类
Jan 14 Python
Python turtle画图库&&画姓名实例
Jan 19 Python
python中@property的作用和getter setter的解释
Dec 22 Python
pycharm配置python 设置pip安装源为豆瓣源
Feb 05 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
php笔记之:php数组相关函数的使用
2013/04/26 PHP
phpphp图片采集后按原路径保存图片示例
2014/02/18 PHP
ThinkPHP验证码使用简明教程
2014/03/05 PHP
PHP操作MySQL的mysql_fetch_* 函数的常见用法教程
2015/12/25 PHP
PHP输出图像imagegif、imagejpeg与imagepng函数用法分析
2016/11/14 PHP
php适配器模式简单应用示例
2019/10/23 PHP
分享8个Laravel模型时间戳使用技巧小结
2020/02/12 PHP
详解php反序列化
2020/06/10 PHP
Javascript 判断 object 的特定类转载
2007/02/01 Javascript
基于jquery的跟随屏幕滚动代码
2012/07/24 Javascript
Three.js源码阅读笔记(基础的核心Core对象)
2012/12/27 Javascript
JS简单实现元素复制示例附图
2013/11/19 Javascript
jquery实现鼠标滑过显示提示框的方法
2015/02/05 Javascript
jQuery实现定位滚动条位置
2016/08/05 Javascript
AngularJS使用拦截器实现的loading功能完整实例
2017/05/17 Javascript
微信小程序图片自适应支持多图实例详解
2017/06/21 Javascript
JavaScript体验异步更好的解决办法
2018/01/08 Javascript
element-ui 限制日期选择的方法(datepicker)
2018/05/16 Javascript
React中this丢失的四种解决方法
2019/03/12 Javascript
微信公众号中的JSSDK接入及invalid signature等常见错误问题分析(全面解析)
2020/04/11 Javascript
jQuery实现移动端下拉展现新的内容回弹动画
2020/06/24 jQuery
Python中title()方法的使用简介
2015/05/20 Python
python如何求解两数的最大公约数
2018/09/27 Python
对Python3之进程池与回调函数的实例详解
2019/01/22 Python
python 将列表里的字典元素合并为一个字典实例
2020/09/01 Python
英国高街奥特莱斯:Highstreet Outlet
2019/11/21 全球购物
Java里面有没有全局变量?为什么?
2015/02/06 面试题
How TDD works
2012/09/30 面试题
预备党员思想汇报范文
2014/01/11 职场文书
国际贸易毕业生求职信范文
2014/02/21 职场文书
社区食品安全实施方案
2014/03/28 职场文书
关于学习的演讲稿
2014/05/10 职场文书
慰问信格式
2015/02/14 职场文书
《司马光》教学反思
2016/02/22 职场文书
python机器学习Github已达8.9Kstars模型解释器LIME
2021/11/23 Python
阿里云ECS云服务器快照的概念以及如何使用
2022/04/21 Servers