PyQt5每天必学之切换按钮_python


本文摘自php中文网,作者不言,侵删。

这篇文章主要为大家详细介绍了PyQt5每天必学之切换按钮的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

切换按钮是QPushButton的特殊模式。它是一个具有两种状态的按钮:按压和未按压。我们通过这两种状态之间的切换来修改其它内容。


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

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

#!/usr/bin/python3

# -*- coding: utf-8 -*-

 

"""

PyQt5 教程

 

在这个例子中,我们创建三个切换按钮。

他们将控制一个QFrame的背景颜色。

 

作者:我的世界你曾经来过

博客:http://blog.csdn.net/weiaitaowang

最后编辑:2016年8月3日

"""

 

import sys

from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QFrame

from PyQt5.QtGui import QColor

 

class Example(QWidget):

 

  def __init__(self):

    super().__init__()

 

    self.initUI()

 

  def initUI(self):

 

    self.col = QColor(0, 0, 0)

 

    redb = QPushButton('红', self)

    redb.setCheckable(True)

    redb.move(10, 10)

 

    greenb = QPushButton('绿', self)

    greenb.setCheckable(True)

    greenb.move(10, 60)

 

    blueb = QPushButton('蓝', self)

    blueb.setCheckable(True)

    blueb.move(10, 110)

 

    redb.clicked[bool].connect(self.setColor)

    greenb.clicked[bool].connect(self.setColor)

    blueb.clicked[bool].connect(self.setColor)

 

    self.square = QFrame(self)

    self.square.setGeometry(150, 20, 100, 100)

    self.square.setStyleSheet('QWidget { background-color:%s }' %

      self.col.name())

 

    self.setGeometry(300, 300, 280, 170)

    self.setWindowTitle('切换按钮')   

    self.show()

 

  def setColor(self, pressed):

 

    source = self.sender()

 

    if pressed:

      val = 255

    else:

      val = 0

 

    if source.text() == '红':

      self.col.setRed(val)

    elif source.text() == '绿':

      self.col.setGreen(val)

    else:

      self.col.setBlue(val)

 

    self.square.setStyleSheet('QFrame { background-color:%s }' %

      self.col.name())

 

if __name__ == '__main__':

 

  app = QApplication(sys.argv)

  ex = Example()

  sys.exit(app.exec_())

在我们的例子中,我们创建了三个切换按钮和一个QWidget。我们设置QWidget的背景色为黑色。切换按钮将切换颜色值的红,绿和蓝色部分。背景颜色将取决于切换。

1

self.col = QColor(0, 0, 0)

初始颜色值为黑色。

1

2

3

redb = QPushButton('红', self)

redb.setCheckable(True)

 redb.move(10, 10)

创建一个切换按钮。我们通过使用QPushButton 创建一个按钮,并设置其setCheckable()方法为真。

1

redb.clicked[bool].connect(self.setColor)

当我们点击切换按钮时一个信号连接到我们定义的方法。我们使用一个布尔值操作点击信号。

1

source = self.sender()

我们得到切换按钮的信息(也就是点击了哪个按钮)。

1

2

if source.text() == '红':

      self.col.setRed(val)

如果是红色按钮,我们相应地更新颜色的红色部分。

1

2

self.square.setStyleSheet('QFrame { background-color:%s }' %

    self.col.name())

我们使用样式表来改变背景颜色。

程序执行后

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

相关推荐:

PyQt5每天必学之布局管理

PyQt5每天必学之带有标签的复选框

PyQt5每天必学之创建窗口居中效果

以上就是PyQt5每天必学之切换按钮_python的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python结合imagemagick实现多张图片合并为一个pdf文件的方法

Python3如何使用smtp协议发送e-mail电子邮件的示例

Python回文数判断

pip 安装 nexmo

Python如何生成马赛克画?生成马赛克画的方法(代码详解)

Python如何验证中心极限定理

什么是Python number(数字)?Python数字类型有哪些?

Python如何打印1~20的整数

Python中的format什么意思

Python环境变量如何配置

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...