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内置的HTTP协议服务器SimpleHTTPServer使用指南
Mar 30 Python
PyCharm 常用快捷键和设置方法
Dec 20 Python
python利用sklearn包编写决策树源代码
Dec 21 Python
Python及Django框架生成二维码的方法分析
Jan 31 Python
python3.6的venv模块使用详解
Aug 01 Python
Python常用数据类型之间的转换总结
Sep 06 Python
Django框架model模型对象验证实现方法分析
Oct 02 Python
python调用函数、类和文件操作简单实例总结
Nov 29 Python
Django restframework 框架认证、权限、限流用法示例
Dec 21 Python
Python如何通过百度翻译API实现翻译功能
Apr 02 Python
python 使用事件对象asyncio.Event来同步协程的操作
May 04 Python
基于 Python 实践感知器分类算法
Jan 07 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
phpMyadmin 用户权限中英对照
2010/04/02 PHP
PHP读取文件并可支持远程文件的代码分享
2012/10/03 PHP
解析如何修改phpmyadmin中的默认登陆超时时间
2013/06/25 PHP
简单实用的网站PHP缓存类实例
2014/07/18 PHP
php创建、获取cookie及基础要点分析
2015/01/26 PHP
PHP命令行执行整合pathinfo模拟定时任务实例
2016/08/12 PHP
基于thinkPHP实现的微信自定义分享功能示例
2016/09/23 PHP
JavaScript 设计模式之组合模式解析
2010/04/09 Javascript
自定义ExtJS控件之下拉树和下拉表格附源码
2013/10/15 Javascript
jquery 插件实现多行文本框[textarea]自动高度
2015/03/04 Javascript
javascript十六进制数字和ASCII字符之间的转换方法
2016/12/27 Javascript
Vue2递归组件实现树形菜单
2017/04/10 Javascript
JavaScript中this用法学习笔记
2019/03/17 Javascript
微信JS-SDK实现微信会员卡功能(给用户微信卡包里发送会员卡)
2019/07/25 Javascript
Vue+Koa2 打包后进行线上部署的教程详解
2019/07/31 Javascript
python使用calendar输出指定年份全年日历的方法
2015/04/04 Python
Python使用Turtle模块绘制五星红旗代码示例
2017/12/11 Python
Python中正则表达式的用法总结
2019/02/22 Python
Python自动化之数据驱动让你的脚本简洁10倍【推荐】
2019/06/04 Python
twilio python自动拨打电话,播放自定义mp3音频的方法
2019/08/08 Python
Python类如何定义私有变量
2020/02/03 Python
pyMySQL SQL语句传参问题,单个参数或多个参数说明
2020/06/06 Python
关于前端上传文件全面基础扫盲贴(入门)
2019/08/01 HTML / CSS
预订奥兰多和佛罗里达州公园门票:FloridaTix
2018/01/03 全球购物
西班牙家用电器和电子产品购物网站:Mi Electro
2019/02/25 全球购物
财务会计毕业生自荐信
2013/11/02 职场文书
护理专科毕业推荐信
2013/11/10 职场文书
计算机操作自荐信
2013/12/07 职场文书
文秘专业个人求职信
2013/12/22 职场文书
财产公证书格式
2014/04/10 职场文书
高考励志标语
2014/06/05 职场文书
党员干部反四风民主生活会对照检查材料思想汇报
2014/10/12 职场文书
合作协议书范本
2014/10/25 职场文书
python使用XPath解析数据爬取起点小说网数据
2021/04/22 Python
iSCSI服务器CHAP双向认证配置
2022/04/01 Servers
MySQL索引失效场景及解决方案
2022/07/23 MySQL