PyQT5-QPushButton切换按钮
"""
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切换按钮的更多相关文章
- C# PDF Page操作——设置页面切换按钮
概述 在以下示例中,将介绍在PDF文档页面设置页面切换按钮的方法.示例中将页面切换按钮的添加分为了两种情况,一种是设置按钮跳转到首页.下页.上页或者最后一页,另一种是设置按钮跳转到指定页面.两种方法适 ...
- 纯css实现checkbox开关切换按钮
我们都知道 checkbox 标签默认样式 实在是太low了,故对CheckBox美化很有必要. 现提供两种方式对其进行美化. 方法一 <div class="switch-wrap ...
- Egret 中实现3种状态切换按钮
一.游戏中的常用3种状态按钮 Egret种提供了2种状态切换的按钮ToggleButton. 但是在游戏中常用到3种状态的按钮,比如任务系统的领取.已领取.未领取. 比如下图中宝箱的打开.浏览后打开. ...
- 尝试用React写几个通用组件 - 带搜索功能的下拉列表,开关切换按钮,弹出框
尝试用React写几个通用组件 - 带搜索功能的下拉列表,开关切换按钮,弹出框 近期正在逐步摸索学习React的用法,尝试着写几个通用型的组件,整体项目还是根据webpack+react+css-me ...
- C# PDF Page操作——设置页面切换按钮 C# 添加、读取Word脚注尾注 C#为什么不能像C/C++一样的支持函数只读传参 web 给大家分享一个好玩的东西,也许你那块就用的到
C# PDF Page操作——设置页面切换按钮 概述 在以下示例中,将介绍在PDF文档页面设置页面切换按钮的方法.示例中将页面切换按钮的添加分为了两种情况,一种是设置按钮跳转到首页.下页.上页或者 ...
- NX二次开发-获取切换按钮的当前状态UF_MB_ask_toggle_state
NX9+VS2012 1.打开D:\Program Files\Siemens\NX 9.0\UGII\menus\ug_main.men 找到装配和PMI,在中间加上一段 TOGGLE_BUTTON ...
- pyqt5界面切换
#主要的思路就是创建两个frame(如果有两个以上同理)使用setVisible()函数显示或者隐藏frame 参数是bool值import sys from PyQt5.QtWidgets impo ...
- bootstrap切换按钮点击后显示的颜色
点击按钮后将按钮类库切换为值为btn-success ·· test ·· jquery code ·· $(".tag-checkbox").toggleClass(" ...
- [android] 切换按钮-自定义控件
准备两张图片,按钮背景,上面的小开关 创建一个类MyToggleBtn,继承View 实现三个构造方法,传递上下文, 实现构造方法,传递Context对象,在java代码中实例化时主要使用这个 实现构 ...
随机推荐
- Hibernate的Configuration和SessionFactiory
Configuration: Configuration是hibernate的入口,负责管理Hibernate的配置信息,这些配置信息都是从配置文件hibernate.cfg.xml或者Hiberna ...
- python与VScode
用VScode写python是非常方便的.vscode是一个功能非常强大的编辑器,下面介绍大致的使用方法: 下载安装python,配置环境变量. 下载安装VScode(vscode会自动连接pytho ...
- python的输出问题
我们知道python提供了一个shell来供初学者学习,在shell里是输入一句执行一句,例如:
- python使用代理访问服务器
python使用代理访问服务器主要有一下3个步骤: 1.创建一个代理处理器ProxyHandler: proxy_support = urllib.request.ProxyHandler(),Pro ...
- window下JBoss7 安装部署
0x01 下载安装 1.下载地址: http://www.jboss.org/jbossas/downloads 2.解压缩:选择一个安装目录解压 jboss-as-7.1.1.Final.zip 3 ...
- vmware 安装 Mac OS X 10.9 Mavericks
This guide shows how to install fresh OS X 10.9 Mavericks on VMware workstation with Windows 7 or Wi ...
- Android源码中中一种常见的struct使用方法
直接看例子: #include<iostream> #include<stdlib.h> using namespace std; struct Base{ int ba; i ...
- 安装windows7/8/10到U盘或移动硬盘
https://jingyan.baidu.com/article/e52e36156f6ad240c60c518c.html jpg改rar
- commander.js 制作简易的 MINA CLI 脚手架
出发点并不是小程序本身,是想要做一个脚手架(command-line interface),看过 VUE / REACT 脚手架,觉得很厉害,但是并不太知道里面是怎么做成的,所以最近研究了研究,看能不 ...
- Android 线程与主线程
网络连接需要时间.Web服务器可能需要1~2秒的时间来响应,文件下载则耗时更久.考虑到这个因素,Android禁止任何主线程网络连接行为.即使强行为之,Android也会抛出NetworkOnMain ...