"""
QPushButton:切换按钮就是QPsuhButton的一种特殊模式,他有两种状态:按下和未按下。我们在点击的时候切换两种状态,有很多场景会用到这个功能
Author:dengyexun
DateTime:2018.11.20
"""
from PyQt5.QtWidgets import QWidget, QPushButton, QFrame, QApplication
from PyQt5.QtGui import QColor
import sys class Example(QWidget):
def __init__(self):
super().__init__() self.initGUI() def initGUI(self):
# 功能区
self.col = QColor(0, 0, 0) # 颜色句柄
# 初始化pushButton
redb = QPushButton('Red', self)
redb.setCheckable(True)
redb.move(60, 60)
# 槽与信号连接.当redb被点击时,传入一个bool值给setColor的pressed参数
redb.clicked[bool].connect(self.setColor) greenb = QPushButton('Green', self)
greenb.setCheckable(True)
greenb.move(60, 80)
greenb.clicked[bool].connect(self.setColor) blueb = QPushButton('Blue', self)
blueb.setCheckable(True)
blueb.move(60, 100)
blueb.clicked[bool].connect(self.setColor) # QFrame对象
self.square = QFrame(self)
self.square.setGeometry(110,110,200,200)
# 更改QWidget的样式风格
self.square.setStyleSheet("QWidget {backgroud-color:%s}" % self.col.name()) # Frame
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle("toggle button")
self.show() def setColor(self, pressed):
"""
自定义槽函数
:param pressed: 鼠标被按下的状态
:return:
"""
# 得到切换按钮的信息,哪一个信号被触发了
source = self.sender()
# 当按下按钮
if pressed:
val = 255
else:
val = 0
# 判断这个信号的文本内容
if source.text() == 'Red':
self.col.setRed(val)
elif source.text() == 'Green':
self.col.setGreen(val)
else:
self.col.setBlue(val)
# 更改QFrame的样式风格,设置背景为特定的颜色
color = self.col.name() # 样式的背景色编码
self.square.setStyleSheet("QFrame {background-color:%s}" % self.col.name()) print('ok') if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())

PyQT5-QPushButton切换按钮的更多相关文章

  1. C# PDF Page操作——设置页面切换按钮

    概述 在以下示例中,将介绍在PDF文档页面设置页面切换按钮的方法.示例中将页面切换按钮的添加分为了两种情况,一种是设置按钮跳转到首页.下页.上页或者最后一页,另一种是设置按钮跳转到指定页面.两种方法适 ...

  2. 纯css实现checkbox开关切换按钮

    我们都知道 checkbox 标签默认样式 实在是太low了,故对CheckBox美化很有必要. 现提供两种方式对其进行美化. 方法一 <div class="switch-wrap ...

  3. Egret 中实现3种状态切换按钮

    一.游戏中的常用3种状态按钮 Egret种提供了2种状态切换的按钮ToggleButton. 但是在游戏中常用到3种状态的按钮,比如任务系统的领取.已领取.未领取. 比如下图中宝箱的打开.浏览后打开. ...

  4. 尝试用React写几个通用组件 - 带搜索功能的下拉列表,开关切换按钮,弹出框

    尝试用React写几个通用组件 - 带搜索功能的下拉列表,开关切换按钮,弹出框 近期正在逐步摸索学习React的用法,尝试着写几个通用型的组件,整体项目还是根据webpack+react+css-me ...

  5. C# PDF Page操作——设置页面切换按钮 C# 添加、读取Word脚注尾注 C#为什么不能像C/C++一样的支持函数只读传参 web 给大家分享一个好玩的东西,也许你那块就用的到

    C# PDF Page操作——设置页面切换按钮   概述 在以下示例中,将介绍在PDF文档页面设置页面切换按钮的方法.示例中将页面切换按钮的添加分为了两种情况,一种是设置按钮跳转到首页.下页.上页或者 ...

  6. NX二次开发-获取切换按钮的当前状态UF_MB_ask_toggle_state

    NX9+VS2012 1.打开D:\Program Files\Siemens\NX 9.0\UGII\menus\ug_main.men 找到装配和PMI,在中间加上一段 TOGGLE_BUTTON ...

  7. pyqt5界面切换

    #主要的思路就是创建两个frame(如果有两个以上同理)使用setVisible()函数显示或者隐藏frame 参数是bool值import sys from PyQt5.QtWidgets impo ...

  8. bootstrap切换按钮点击后显示的颜色

    点击按钮后将按钮类库切换为值为btn-success ·· test ·· jquery code ·· $(".tag-checkbox").toggleClass(" ...

  9. [android] 切换按钮-自定义控件

    准备两张图片,按钮背景,上面的小开关 创建一个类MyToggleBtn,继承View 实现三个构造方法,传递上下文, 实现构造方法,传递Context对象,在java代码中实例化时主要使用这个 实现构 ...

随机推荐

  1. WinInet API详解

    一.概述 WinInet(「Windows Internet」)API帮助程序员使用三个常见的Internet协议,这三个协议是:用于World Wide Web万维网的超文本传输协议(HTTP:Hy ...

  2. 【RF库Collections测试】Remove Duplicates

    Name:Remove DuplicatesSource:Collections <test library>Arguments:[ list_ ]Returns a list witho ...

  3. std::string与std::wstring互相转换

    作者:zzandyc来源:CSDN原文:https ://blog.csdn.net/zzandyc/article/details/77540056 版权声明:本文为博主原创文章,转载请附上博文链接 ...

  4. 解决node里面的中文乱码

    今天咋学习node的时候,跟着视频里在撸代码,但是却出现了中文乱码的情况,视频中的谷歌浏览器可能和我的版本不一致,先看代码吧: 'use strict'; const http = require(& ...

  5. 【LeetCode OJ】Remove Element

    题目:Given an array and a value, remove all instances of that value in place and return the new length ...

  6. 微信小程序--消息推送配置Token令牌错误校验失败如何解决

    微信开放第三方API接口, 申请地址: https://mp.weixin.qq.com/advanced/advanced?action=interface&t=advanced/inter ...

  7. Material Design系列第四篇——Defining Shadows and Clipping Views

    Defining Shadows and Clipping Views This lesson teaches you to Assign Elevation to Your Views Custom ...

  8. Ubuntu 14.04 DNS 配置

    最近得到一个比较好用的DNS,每次重启后都修改DNS配置文件 /etc/resolv.conf 重启就会失效 从网上得知 /etc/resolv.conf中的DNS配置是从/etc/resolvcon ...

  9. -webkit-transition -moz-transition transition

    -webkit-transition  -moz-transition transition 可以定义动画的变化时间曲线-webkit-transition-timing-function: ease ...

  10. Junit单元测试初识

    写过单元测试的小童鞋对于Junit一定不陌生,可小白我,刚刚开始接触,这里就把我的测试实验,做一下记录,以便以后方便查看.学习使用JUnit4,既然使用最新版本了,就不要再考虑老版本是如何使用的了,J ...