网友的解释(跟实践有冲突)

在使用命令按钮QPushButton时,最常用的信号列表如下:

关于“将当前状态传递给外界”这句作用难以理解,其实就是:控件中的clicked()信号和clicked(bool)信号是两个不同的信号

1、clicked()

映射槽函数时,clicked()信号映射到的槽函数是不带参的,比如槽函数可以写作def ClickedAction(self),与按钮动作连接的语句为self.btn.clicked.connect(self.ClickedAction);

2、clicked(bool)

clicked(bool)信号映射到的槽函数可以是带参数的,比如槽函数可以写作def ClickedAction(self,status),其中参数status就是按钮当前的状态(Tru or False),而与按钮动作连接的语句self.btn.clicked[bool].connect(self.ClickedAction),无需使用lambda传入status。
很显然,clicked(bool)只是当按钮的setCheckable()设置为True时才有可能使得status为True(即设置后按钮想点灯开关一样,能够按一下保持一直开,再按下保持一直关),否则开关点击一下后仍为关闭状态,status一直为False。clicked例子很简单,在此不说了,clicked[bool]相关情况下的实例如下:

(1)默认为setCheckable(False)的按钮

#按钮及其动作定义
self.btn=QPushButton('验证')
#self.btn.setCheckable(True)
self.btn.setFont(QFont('TypeLand 康熙字典體試用版',20))
self.btn.clicked.connect(self.ClickedAction)  #注意这里不用传入参数status,动作会自动获取status#动作定义
def ClickedAction(self,status):print(f"按下按钮了,此后按钮状态为:{status}")#结果
按下按钮了,此后按钮状态为:False

(2)setCheckable(True)的按钮

#按钮及其动作定义
self.btn=QPushButton('验证')
self.btn.setCheckable(True)
self.btn.setFont(QFont('TypeLand 康熙字典體試用版',20))
self.btn.clicked.connect(self.ClickedAction)  #注意这里不用传入参数status,动作会自动获取status#动作定义
def ClickedAction(self,status):print(f"按下按钮了,此后按钮状态为:{status}")# 结果
按下按钮了,此后按钮状态为:True

我的实验

上面说了一堆别人的见解,但是我实际操作发现。不管是clicked还是clicked[bool],槽函数如果带参都是可以的,而且都能获取到status的值的

其中statu在setCheckable(True)的时候,第一次点击的值为True,否则都是为False

PyQt5 clicked和clicked[bool]信号区别相关推荐

  1. pyqt5界面与逻辑分离--信号槽的装饰器实现方式

    pyqt5界面与逻辑分离--信号槽的装饰器实现方式 本文展示了 pyqt5 信号槽的装饰器实现方式(借鉴自 eirc6) 一个简单的例子.实现功能:两个数相加,显示结果.如图 两个文件,第一个是界面文 ...

  2. c++中BOOL和bool的区别

    From: http://blog.csdn.net/zhongguoren666/article/details/8472805 一:在网上找到了BOOL和bool的区别: 1.类型不同 BOOL为 ...

  3. c++中TRUE与true的区别,BOOL与bool的区别

    FALSE/TRUE与false/true的区别 1.FALSE/TRUE与false/true的区别: false/true是标准C++语言里新增的关键字,而FALSE/TRUE是通过#define ...

  4. SIGINT、SIGKILL、SIGTERM 信号区别

    三者都是结束 / 终止进程运行,但略微有区别. 一.SIGINT 产生方式:键盘 Ctrl + C 产生结果:只对当前前台进程和他的所在的进程组的每个进程都发送 SIGINT 信号,之后这些进程会执行 ...

  5. 这些手机双卡双待的信号区别你知道吗

    随着手机的普及,越来越多的人开始使用双卡双待功能.然而,很多人对于手机双卡双待信号的区别还存在一些疑惑.本文将从概念.原理和实际应用三个方面进行科普. 首先,我们需要了解什么是双卡双待.简单来说,双卡 ...

  6. 单端信号和差分信号区别

    单端信号和差分信号区别 单端信号和差分信号区别 差分信号介绍 差分信号优点 单端信号和差分信号区别 一.基本区别 二.传输上的差别 总结 参考来源 单端信号和差分信号区别 差分信号介绍 差分传输是一种 ...

  7. PyQt5学习笔记05----Qt Designer信号槽

    先入一些信号槽的基本介绍: 信号和槽是一种高级接口,应用于对象之间的通信,它是 QT 的核心特性,也是 QT 区别于其它工具包的重要地方.它为高层次的事件处理自动生成所需要的附加代码.在我们所熟知的很 ...

  8. PyQt5+eric6之旅(四) - 信号与槽的绑定

    如果编辑了按钮, 那么接下来就是通过按钮触发某个动作 首先右击窗体,生成对话框代码 绑定按钮 接着在代码栏就会看到生成的py文件 在qt designer中创建slot 绑定 再次编译 打开py文件发 ...

  9. python PyQt5 sender(是发出信号的对象)、receiver(接收信号的对象)、slot(插槽)(是对信号做出反应的方法)

    sender是发出信号的对象.receiver是接收信号的对象.slot(插槽)是对信号做出反应的方法. 参考文章:python PyQt5中文教程☞[第五节]PyQt5事件和信号

  10. 音频信号转为开关控制信号_盘点模拟量信号和开关量信号区别与应用

    提起PLC和变频器,相信很多的电工老师傅都非常了解,甚至于每天都在接触PLC和变频器,老师傅们都知道开关量控制和模拟量控制是PLC和变频器经常使用的2种控制方式,都应用非常广泛. 但是对于一些刚入门学 ...

最新文章

  1. Wireshark小技巧:将IP显示为域名
  2. ios开发常识(1)开发语言和参考资料
  3. 【Android 内存优化】libjpeg-turbo 函数库交叉编译与使用 ( 交叉编译脚本编写 | 函数库头文件拷贝 | 构建脚本配置 | Android Studio 测试函数库 )
  4. API网关-apisix源码剖析,初始化依赖
  5. 【theano-windows】学习笔记二十——LSTM理论及实现
  6. 第一类第二类丢失更新
  7. CSU 1558 和与积
  8. 云小课 | 玩转HiLens Studio之快速订购HiLens Studio版本
  9. Git:add多个文件或者目录的方式
  10. python退出帮助系统_Python退出脚本并返回Main
  11. 微信小程序:冒泡事件及其阻止
  12. 目标检测(九)--YOLO v1,v2,v3
  13. ATIchinapay银联支付模块.zip
  14. 阿里淘系21春招实习过经
  15. 苹果cms10整合dplayer播放器
  16. 跑腿 php,啦啦外卖跑腿小程序配置详情
  17. 65个面试常见问题技巧回答,你知道吗
  18. matlab电磁场与微波技术仿真pdf,MATLAB电磁场与微波技术仿真
  19. AT91SAM9260EK总是出现有RomBOOT提示但是却无法连接SAM-BA的方法
  20. 苹果库乐队怎么玩_iPhone技巧丨苹果手机制作炫酷铃声,就是不一样!

热门文章

  1. 服务器系统0 c000000f,win10系统提示错误代码0xc000000f的三种解决方法
  2. CGI的介绍及简单应用
  3. 12.2.1 QTcpSocket类介绍
  4. LVS+Keepalived+Nginx+Tomcat高可用负载均衡集群配置
  5. 小米笔记本关闭UEFI secure boot
  6. 爬虫爬取文件(图片,视频)
  7. 免费扫书的条形码API,PHP代码实例
  8. PS更换照片底色的方法(红底变白底为例)
  9. linux火狐快捷键设置,使用火狐浏览器所有的快捷键大全
  10. 在线渐变配色网站分享