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自动调用IE打开某个网站的方法
Jun 03 Python
使用Python发送各种形式的邮件的方法汇总
Nov 09 Python
深入浅析python中的多进程、多线程、协程
Jun 22 Python
pandas带有重复索引操作方法
Jun 08 Python
python将秒数转化为时间格式的实例
Sep 16 Python
详解Python静态网页爬取获取高清壁纸
Apr 23 Python
django框架使用方法详解
Jul 18 Python
python matplotlib库直方图绘制详解
Aug 10 Python
python实现批量修改服务器密码的方法
Aug 13 Python
Python的pygame安装教程详解
Feb 10 Python
Python paramiko使用方法代码汇总
Nov 20 Python
解决TensorFlow训练模型及保存数量限制的问题
Mar 03 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
解决了Ajax、MySQL 和 Zend Framework 的乱码问题
2009/03/03 PHP
php使用sql server验证连接数据库的方法
2014/12/25 PHP
php和editplus正则表达式去除空白行
2015/04/17 PHP
PHP多维数组转一维数组的简单实现方法
2015/12/23 PHP
php ajax数据传输和响应方法
2018/08/21 PHP
List the Codec Files on a Computer
2007/06/11 Javascript
jquery 1.4.2发布!主要是性能与API
2010/02/25 Javascript
MyEclipse取消验证Js的两种方法
2013/11/14 Javascript
前端轻量级MVC框架CanJS详解
2014/09/26 Javascript
利用JQuery直接调用asp.net后台的简单方法
2016/10/27 Javascript
JS弹出窗口的运用与技巧大全
2016/11/01 Javascript
JS产生随机数的用法小结
2016/12/10 Javascript
NodeJS测试框架mocha入门教程
2017/03/28 NodeJs
vue下跨域设置的相关介绍
2017/08/26 Javascript
vue实现页面加载动画效果
2017/09/19 Javascript
React Hooks的深入理解与使用
2018/11/12 Javascript
JavaScript中concat复制数组方法浅析
2019/01/20 Javascript
Vue 微信端扫描二维码苹果端却只能保存图片问题(解决方法)
2020/01/19 Javascript
node.js基础知识汇总
2020/08/25 Javascript
Python函数学习笔记
2008/10/07 Python
基于Python实现的百度贴吧网络爬虫实例
2015/04/17 Python
Python中 传递值 和 传递引用 的区别解析
2018/02/22 Python
python3 property装饰器实现原理与用法示例
2019/05/15 Python
使用Numpy对特征中的异常值进行替换及条件替换方式
2020/06/08 Python
茱莉蔻美国官网:Jurlique美国
2020/11/24 全球购物
Auguste The Label官网:澳大利亚一家精品女装时尚品牌
2020/06/14 全球购物
采购部岗位职责
2013/11/24 职场文书
文案策划求职信
2014/04/14 职场文书
餐厅保洁员岗位职责
2015/04/10 职场文书
中秋晚会致辞
2015/07/31 职场文书
高中英语教学反思范文
2016/03/02 职场文书
2019最新公司租房合同(例文)
2019/07/18 职场文书
SpringBoot生成License的实现示例
2021/06/16 Java/Android
MySQL中varchar和char类型的区别
2021/11/17 MySQL
javascript Number 与 Math对象的介绍
2021/11/17 Javascript
css中有哪些方式可以隐藏页面元素及区别
2022/06/16 HTML / CSS