PyQt5每天必学之滑块控件QSlider


Posted in Python onApril 20, 2018

QSlider 是一个具有可来回拉动手柄的控件。有时使用滑块比输入数字或使用旋转框更方便。

在我们的例子中,我们将创建一个滑块和一个标签。标签显示图像。滑块将控制标签显示的图像。

#!/usr/bin/python3
# -*- coding: utf-8 -*-

"""
PyQt5 教程

这个例子显示了一个QSlider控件的使用方法。

作者:我的世界你曾经来过
博客:http://blog.csdn.net/weiaitaowang
最后编辑:2016年8月3日
"""

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QSlider
from PyQt5.QtGui import QPixmap
from PyQt5.QtCore import Qt

class Example(QWidget):

 def __init__(self):
  super().__init__()

  self.initUI()

 def initUI(self):

  sld = QSlider(Qt.Horizontal, self)
  sld.setFocusPolicy(Qt.NoFocus)
  sld.setGeometry(30, 40, 100, 30)
  sld.valueChanged[int].connect(self.changeValue)

  self.label = QLabel(self)
  self.label.setPixmap(QPixmap('F:\Python\PyQt5\Widgets\images\mute.png'))
  self.label.setGeometry(160, 30, 80, 50)

  self.setGeometry(300, 300, 280, 170)
  self.setWindowTitle('滑块控件')  
  self.show()

 def changeValue(self, value):

  if value == 0:
   self.label.setPixmap(QPixmap('F:\Python\PyQt5\Widgets\images\mute.png'))
  elif value > 0 and value <= 30:
   self.label.setPixmap(QPixmap('F:\Python\PyQt5\Widgets\images\min.png'))
  elif value > 30 and value < 80:
   self.label.setPixmap(QPixmap('F:\Python\PyQt5\Widgets\images\med.png'))
  else:
   self.label.setPixmap(QPixmap('F:\Python\PyQt5\Widgets\images\max.png'))

if __name__ == '__main__':

 app = QApplication(sys.argv)
 ex = Example()
 sys.exit(app.exec_())

在我们的例子中,我们模拟音量控制。通过拖动滑块的手柄,我们改变标签上的图像。

sld = QSlider(Qt.Horizontal, self)

创建一个水平滑块 QSlider

self.label = QLabel(self)
self.label.setPixmap(QPixmap('F:\Python\PyQt5\Widgets\images\mute.png'))

创建一个标签 QLabel 控件并设置要显示的初始图像

sld.valueChanged[int].connect(self.changeValue)

将滑块的 valueChanged 信号连接到 changeValue() 方法(槽)

if value == 0:
 self.label.setPixmap(QPixmap('F:\Python\PyQt5\Widgets\images\mute.png'))

我们根据滑块的值设置标签上的图像。在上面的代码中,如果滑块等于零标签的图像设置为mute.png。

程序执行后

PyQt5每天必学之滑块控件QSliderPyQt5每天必学之滑块控件QSlider

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中使用HTMLParser解析html实例
Feb 08 Python
Python处理RSS、ATOM模块FEEDPARSER介绍
Feb 18 Python
python解析基于xml格式的日志文件
Feb 25 Python
使用python验证代理ip是否可用的实现方法
Jul 25 Python
编写多线程Python服务器 最适合基础
Sep 14 Python
python将txt文件读取为字典的示例
Dec 22 Python
Jupyter Notebook折叠输出的内容实例
Apr 22 Python
PyInstaller运行原理及常用操作详解
Jun 13 Python
Python常用外部指令执行代码实例
Nov 05 Python
Pycharm如何自动生成头文件注释
Nov 14 Python
Python的scikit-image模块实例讲解
Dec 30 Python
python 批量将中文名转换为拼音
Feb 07 Python
PyQt4实现下拉菜单可供选择并打印出来
Apr 20 #Python
PyQt5每天必学之组合框
Apr 20 #Python
python 时间信息“2018-02-04 18:23:35“ 解析成字典形式的结果代码详解
Apr 19 #Python
Pyqt实现无边框窗口拖动以及窗口大小改变
Apr 19 #Python
Python利用pandas计算多个CSV文件数据值的实例
Apr 19 #Python
PyQt5实现无边框窗口的标题拖动和窗口缩放
Apr 19 #Python
利用numpy和pandas处理csv文件中的时间方法
Apr 19 #Python
You might like
十天学会php之第八天
2006/10/09 PHP
php编程实现获取excel文档内容的代码实例
2011/06/28 PHP
PHP使用memcache缓存技术提高响应速度的方法
2014/12/26 PHP
javascript实现二分查找法实现代码
2007/11/12 Javascript
通过 Dom 方法提高 innerHTML 性能
2008/03/26 Javascript
JavaScript delete操作符应用实例
2009/01/13 Javascript
ASP.NET jQuery 实例2 (表单中使用回车在TextBox之间向下移动)
2012/01/13 Javascript
jQuery建立一个按字母顺序排列的友好页面索引(兼容IE6/7/8)
2013/02/26 Javascript
jQuery lazyLoad图片延迟加载插件的优化改造方法分享
2013/08/13 Javascript
jquery ajax的success回调函数中实现按钮置灰倒计时
2013/11/19 Javascript
js中常用的Tab切换效果(推荐)
2016/08/30 Javascript
AngularJs html compiler详解及示例代码
2016/09/01 Javascript
基于bootstrap的选择框插件icheck
2016/12/23 Javascript
利用Decorator如何控制Koa路由详解
2018/06/26 Javascript
如何基于layui的laytpl实现数据绑定的示例代码
2020/04/10 Javascript
[02:57]DOTA2亚洲邀请赛 SECRET战队出场宣传片
2015/02/07 DOTA
[02:12]探秘2016国际邀请赛中国区预选赛选手房间
2016/06/25 DOTA
Python 异常处理实例详解
2014/03/12 Python
Python学习入门之区块链详解
2017/07/25 Python
利用 python 对目录下的文件进行过滤删除
2017/12/27 Python
python斐波那契数列的计算方法
2018/09/27 Python
selenium+python 对输入框的输入处理方法
2018/10/11 Python
python3使用pandas获取股票数据的方法
2018/12/22 Python
Python封装成可带参数的EXE安装包实例
2019/08/24 Python
使用OpenCV实现仿射变换—旋转功能
2019/08/29 Python
在jupyter notebook中调用.ipynb文件方式
2020/04/14 Python
使用已经得到的keras模型识别自己手写的数字方式
2020/06/29 Python
以色列的身体护理及家居香薰品牌:Sabon NYC
2018/02/23 全球购物
星级党支部申报材料
2014/05/31 职场文书
经济管理专业求职信
2014/06/09 职场文书
故意伤害人身损害赔偿协议书
2014/11/19 职场文书
2014年秘书工作总结
2014/11/25 职场文书
学习保证书
2015/01/17 职场文书
公司会议开幕词
2016/03/03 职场文书
python 如何在list中找Topk的数值和索引
2021/05/20 Python
mysql5.7使用binlog 恢复数据的方法
2021/06/03 MySQL