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实现抓取页面上链接的简单爬虫分享
Jan 21 Python
Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程
Jul 11 Python
python实现识别手写数字 python图像识别算法
Mar 23 Python
python excel使用xlutils类库实现追加写功能的方法
May 02 Python
python邮件发送smtplib使用详解
Jun 16 Python
目前最全的python的就业方向
Jun 05 Python
详解关于Django中ORM数据库迁移的配置
Oct 08 Python
对python tkinter窗口弹出置顶的方法详解
Jun 14 Python
用Python画小女孩放风筝的示例
Nov 23 Python
Python监控服务器实用工具psutil使用解析
Dec 19 Python
python使用pandas抽样训练数据中某个类别实例
Feb 28 Python
基于OpenCV的网络实时视频流传输的实现
Nov 15 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下通过POST还是GET来传值
2008/06/05 PHP
jQuery EasyUI API 中文文档 - DateBox日期框
2011/10/15 PHP
php使用$_POST或$_SESSION[]向js函数传参
2014/09/16 PHP
php计算给定时间之前的函数用法实例
2015/04/03 PHP
javascript cookies操作集合
2010/04/12 Javascript
jquery maxlength使用说明
2011/09/09 Javascript
用dtree实现树形菜单 dtree使用说明
2011/10/17 Javascript
JavaScript异步编程:异步数据收集的具体方法
2013/08/19 Javascript
JS版的date函数(和PHP的date函数一样)
2014/05/12 Javascript
jQuery 获取、设置HTML或TEXT内容的两种方法
2014/05/23 Javascript
jQuery跨域问题解决方案
2015/08/03 Javascript
jQuery配合coin-slider插件制作幻灯片效果的流程解析
2016/05/13 Javascript
详解AngularJS ui-sref的简单使用
2017/04/24 Javascript
vue 打包后的文件部署到express服务器上的方法
2017/08/09 Javascript
nodejs取得当前执行路径的方法
2018/05/13 NodeJs
JS实现字符串翻转的方法分析
2018/08/31 Javascript
Vue侦测相关api的实现方法
2019/05/22 Javascript
js实现多张图片每隔一秒切换一张图片
2019/07/29 Javascript
python读取word文档的方法
2015/05/09 Python
分享python数据统计的一些小技巧
2016/07/21 Python
使用python Telnet远程登录执行程序的方法
2019/01/26 Python
利用Python的folium包绘制城市道路图的实现示例
2020/08/24 Python
Python3压缩和解压缩实现代码
2021/03/01 Python
详解Html5 Canvas画线有毛边解决方法
2018/03/01 HTML / CSS
分享一个H5原生form表单的checkbox特效代码
2018/02/26 HTML / CSS
美国著名童装品牌:OshKosh B’gosh
2016/08/05 全球购物
华纳兄弟工作室的官方授权商店:WB Shop
2018/11/30 全球购物
文明教师事迹材料
2014/01/16 职场文书
总经理助理工作职责
2014/02/06 职场文书
小学运动会入场式解说词
2014/02/18 职场文书
农村葬礼主持词
2014/03/31 职场文书
小学生国庆节演讲稿
2014/09/05 职场文书
奥巴马经典演讲稿
2014/09/13 职场文书
我的大学四年规划书范文2014
2014/09/26 职场文书
反腐倡廉主题教育活动总结
2015/05/07 职场文书
Java中生成微信小程序太阳码的实现方案
2022/06/01 Java/Android