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实现过滤单个Android程序日志脚本分享
Jan 16 Python
Python实现微信公众平台自定义菜单实例
Mar 20 Python
node.js获取参数的常用方法(总结)
May 29 Python
Python编程实现的简单神经网络算法示例
Jan 26 Python
python实现图书馆研习室自动预约功能
Apr 27 Python
详谈python在windows中的文件路径问题
Apr 28 Python
python中的turtle库函数简单使用教程
Jul 23 Python
python 去除二维数组/二维列表中的重复行方法
Jan 23 Python
Python使用线程来接收串口数据的示例
Jul 02 Python
python脚本和网页有何区别
Jul 02 Python
3分钟看懂Python后端必须知道的Django的信号机制
Jul 26 Python
python自动化测试之Selenium详解
Mar 13 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
全国FM电台频率大全 - 28 甘肃省
2020/03/11 无线电
自己动手做一个SQL解释器
2006/10/09 PHP
利用discuz实现PHP大文件上传应用实例代码
2008/11/14 PHP
php实现Mysql简易操作类
2015/10/11 PHP
PHP中16个高危函数整理
2019/09/19 PHP
extjs实现选择多表自定义查询功能 前台部分(ext源码)
2011/12/20 Javascript
javascript 实现键盘上下左右功能的小例子
2013/09/15 Javascript
浏览器的JavaScript引擎的识别方法
2013/10/20 Javascript
jQuery获得内容和属性方法及示例
2013/12/02 Javascript
在js文件中写el表达式取不到值的原因及解决方法
2013/12/23 Javascript
jQuery Trim去除字符串首尾空字符的实现方法说明
2014/02/11 Javascript
jQuery中的val()示例应用
2014/02/26 Javascript
基于jquery实现的文字向上跑动类似跑马灯的效果
2014/06/17 Javascript
jQuery 中DOM 操作详解
2015/01/13 Javascript
JavaScript 实现的 zip 压缩和解压缩工具包Zip.js使用详解
2015/12/14 Javascript
BootStrap中的表单大全
2016/09/07 Javascript
如何制作幻灯片(代码分享)
2017/01/06 Javascript
用jQuery实现圆点图片轮播效果
2017/03/19 Javascript
Angular2 之 路由与导航详细介绍
2017/05/26 Javascript
vue-auto-focus: 控制自动聚焦行为的 vue 指令方法
2018/08/25 Javascript
详解小程序输入框闪烁及重影BUG解决方案
2018/08/31 Javascript
JS数组及对象遍历方法代码汇总
2020/06/16 Javascript
vue3.0生命周期的示例代码
2020/09/24 Javascript
Python实现的维尼吉亚密码算法示例
2018/04/12 Python
windows下 兼容Python2和Python3的解决方法
2018/12/05 Python
python多线程高级锁condition简单用法示例
2019/11/07 Python
Pandas的Apply函数具体使用
2020/07/21 Python
次世代生活态度:Hypebeast
2018/07/05 全球购物
龟牌英国商店:Turtle Wax Brand Store UK
2019/07/02 全球购物
哈曼俄罗斯官方网上商店:Harman.club
2020/07/24 全球购物
优秀交警事迹材料
2014/01/26 职场文书
大学生工作自荐书
2014/06/16 职场文书
公司开业主持词
2015/07/02 职场文书
庆祝教师节新闻稿
2015/07/17 职场文书
放假通知怎么写
2015/08/18 职场文书
手把手教你导入Go语言第三方库
2021/08/04 Golang