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实现的阳历转阴历(农历)算法
Apr 25 Python
零基础写python爬虫之使用Scrapy框架编写爬虫
Nov 07 Python
Python轻量级ORM框架Peewee访问sqlite数据库的方法详解
Jul 20 Python
解决python "No module named pip" 的问题
Oct 13 Python
python 内置模块详解
Jan 01 Python
Python操作MySQL数据库实例详解【安装、连接、增删改查等】
Jan 17 Python
Python自动采集微信联系人的实现示例
Feb 28 Python
PyQt5中向单元格添加控件的方法示例
Mar 24 Python
解决pymysql cursor.fetchall() 获取不到数据的问题
May 15 Python
python中random.randint和random.randrange的区别详解
Sep 20 Python
python中requests模拟登录的三种方式(携带cookie/session进行请求网站)
Nov 17 Python
Jupyter Notebook 如何修改字体和大小以及更改字体样式
Jun 03 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 curl获取网页内容(IPV6下超时)的解决办法
2013/07/16 PHP
php写入数据到CSV文件的方法
2015/03/14 PHP
谈谈从phpinfo中能获取哪些值得注意的信息
2017/03/28 PHP
Thinkphp 3.2框架使用Redis的方法详解
2019/10/24 PHP
浅谈php常用的7大框架的优缺点
2020/07/20 PHP
TP - 比RBAC更好的权限认证方式(Auth类认证)
2021/03/09 PHP
为jQuery增加join方法的实现代码
2010/11/28 Javascript
Javascript和HTML5利用canvas构建Web五子棋游戏实现算法
2013/07/17 Javascript
jQuery 事件的命名空间简单了解
2013/11/22 Javascript
javascript 回调函数详解
2014/11/11 Javascript
jQuery中removeData()方法用法实例
2014/12/27 Javascript
javascript获取文档坐标和视口坐标
2015/05/26 Javascript
简单谈谈Javascript中类型的判断
2015/10/19 Javascript
JS操作JSON方法总结(推荐)
2016/06/14 Javascript
Highcharts入门之简介
2016/08/02 Javascript
AngularJs Understanding the Controller Component
2016/09/02 Javascript
jQuery post数据至ashx实例详解
2016/11/18 Javascript
JavaScript常见的五种数组去重的方式
2016/12/15 Javascript
高效的jQuery代码编写技巧总结
2017/02/22 Javascript
bootstrap suggest搜索建议插件使用详解
2017/03/25 Javascript
JavaScript实现前端实时搜索功能
2020/03/26 Javascript
详解在AngularJS的controller外部直接获取$scope
2017/06/02 Javascript
浅谈webpack下的AOP式无侵入注入
2017/11/12 Javascript
详解Vue.js v-for不支持IE9的解决方法
2018/12/29 Javascript
vue的webcamjs集成方式
2020/11/16 Javascript
[58:15]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 NB vs Liquid
2018/04/02 DOTA
python中使用urllib2获取http请求状态码的代码例子
2014/07/07 Python
Django与遗留的数据库整合的方法指南
2015/07/24 Python
使用Python判断质数(素数)的简单方法讲解
2016/05/05 Python
详解Python数据分析--Pandas知识点
2019/03/23 Python
Django REST Framework序列化外键获取外键的值方法
2019/07/26 Python
wxpython布局的实现方法
2019/11/01 Python
使用python绘制二维图形示例
2019/11/22 Python
TensorFlow dataset.shuffle、batch、repeat的使用详解
2020/01/21 Python
Python的collections模块真的很好用
2021/03/01 Python
一套.net面试题及答案
2016/11/02 面试题