QPushButton 点击信号分析 (***)

目录

QPushButton的四个信号:pressed(),clicked(),released(),toggled()

QPushButton 点击信号分析

QAbstractButton中的可用信号--QPushButton

----------------------------------------------------------------------------------

在 eventFilter()中判断单击、双击事件

bool Abc::eventFilter(QObject *obj, QEvent *event)

1. 单击、双击,Qt 没有默认的实现。

QPushButton的双击事件虽然一直有,但是在双击完成之前,总会响应到单击的事件处理或者连接槽,使用很不方便。

参考:Qt: QPushButton 单击、双击响应区分 (****) 定时器  https://blog.csdn.net/ken2232/article/details/131446911

2. 在 eventFilter()中,没有 clicked信号。

3. 使用 QEvent::MouseButtonPress 信号时,由于它的延时太长,难以区分 “双击”信号。

4. 有效的方法:使用 QEvent::MouseButtonRelease 信号,配合定时器来完成。

===============================================

QPushButton的四个信号:

pressed(),clicked(),released(),toggled()

  • pressed():鼠标按下时触发。对应的函数是 mousePressEvent()。
  • clicked():鼠标松开时触发。如果鼠标拖拽到按钮区域之外释放则不会触发。对应的函数是 mouseReleaseEvent()。一般情况下 connect 槽函数时使用该信号。
  •  released():鼠标松开时触发。即使鼠标拖拽到按钮区域之外释放也会触发。对应的函数是 mouseReleaseEvent()。
  • toggled():设置 setCheckable(true) 后再单击按钮才会触发该信号。一般用于多个按钮组成 QButtonGroup 并且 setExclusive(true) 设置按钮间互斥。

正常情况下单击按钮,响应顺序为:

pressed() — about 215ms — released() — almost 0ms — clicked()。

————————————————
版权声明:本文为CSDN博主「hanjialeOK」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43742643/article/details/101706477

QPushButton 点击信号分析

结论:

  1. pressed最先执行,相当于按下操作
  2. 按下之后,按钮状态发生变化,触发toggled
  3. clicked最后执行,相当于弹起操作

https://www.jianshu.com/p/2c4e35a6ed72

 

QAbstractButton中的可用信号--QPushButton

https://blog.csdn.net/laner__gg/article/details/122732008

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值