首页 > 后端开发 > Python教程 > PyQt5每天必学之滑块控件QSlider_python

PyQt5每天必学之滑块控件QSlider_python

不言
发布: 2018-04-20 14:18:16
原创
7100 人浏览过

这篇文章主要为大家详细介绍了PyQt5每天必学之滑块控件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

#!/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(&#39;F:\Python\PyQt5\Widgets\images\min.png&#39;))

  elif value > 30 and value < 80:

   self.label.setPixmap(QPixmap(&#39;F:\Python\PyQt5\Widgets\images\med.png&#39;))

  else:

   self.label.setPixmap(QPixmap(&#39;F:\Python\PyQt5\Widgets\images\max.png&#39;))

 

if __name__ == &#39;__main__&#39;:

 

 app = QApplication(sys.argv)

 ex = Example()

 sys.exit(app.exec_())

登录后复制

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

1

sld = QSlider(Qt.Horizontal, self)

登录后复制

创建一个水平滑块 QSlider

1

2

self.label = QLabel(self)

self.label.setPixmap(QPixmap(&#39;F:\Python\PyQt5\Widgets\images\mute.png&#39;))

登录后复制

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

1

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

登录后复制

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

1

2

if value == 0:

 self.label.setPixmap(QPixmap(&#39;F:\Python\PyQt5\Widgets\images\mute.png&#39;))

登录后复制

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

程序执行后

这里写图片描述这里写图片描述

相关推荐:

PyQt5每天必学之切换按钮_python

PyQT实现多窗口切换

PyQt5每天必学之事件与信号

以上是PyQt5每天必学之滑块控件QSlider_python的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板