PyQT5-QSlide滑块

 1 """
 2     QSlider:是一个小滑块组件,这个小滑块能够被拖着一起滑动,用于通常修改具有一定范围的数据
 3     Author: dengyexun
 4     DateTime: 2018.11.21
 5 """
 6 from PyQt5.QtWidgets import QWidget, QSlider, QApplication, QLabel
 7 from PyQt5.QtCore import Qt
 8 from PyQt5.QtGui import QPixmap
 9 import sys
10 import os
11 
12 
13 class Example(QWidget):
14 
15     def __init__(self):
16         super().__init__()
17 
18         self.initUI()
19 
20     def initUI(self):
21         # 初始化一个水平滑块
22         sld = QSlider(Qt.Horizontal, self)
23         # 设置焦点策略
24         sld.setFocusPolicy(Qt.NoFocus)
25         sld.setGeometry(30,40,100,30)
26         # 滑动滑块时,传递整型数据给changeValue的value参数
27         sld.valueChanged[int].connect(self.changeValue)
28 
29         # 初始化一个label
30         self.label = QLabel(self)
31         self.label.setPixmap(QPixmap('../resources/mute.png'))
32         self.label.setGeometry(100,  100, 200, 300)
33 
34         self.setGeometry(300, 300, 600, 600)
35         self.setWindowTitle('slider')
36         self.show()
37 
38     def changeValue(self, value):
39         """
40         自定义函数
41         :param value: 更改的数值
42         :return:
43         """
44         up_dir = os.path.abspath(os.path.join(os.getcwd(), ".."))
45         if value == 0:
46             self.label.setPixmap(QPixmap(up_dir+'./resources/mute.png'))
47         elif value >0 and value <= 30:
48             self.label.setPixmap(QPixmap(up_dir+'./resources/max.png'))
49         elif value >30 and value < 80:
50             self.label.setPixmap(QPixmap(up_dir+'./resources/med.png'))
51         else:
52             self.label.setPixmap(QPixmap(up_dir+'./resources/min.png'))
53 
54 
55 if __name__ == '__main__':
56     app = QApplication(sys.argv)
57     ex = Example()
58     sys.exit(app.exec_())
原文地址:https://www.cnblogs.com/demo-deng/p/9994751.html