0%

QT_(十三)-pressed,released,clicked

Qt的PushButton的常用的三种响应有pressed,released和clicked。

优先级:pressed>released>clicked

按下按钮pressed函数的内容,释放按钮先执行released函数的内容,再执行clicked函数的内容。

QAbstractButton 的四个信号

  • clicked(bool checked):鼠标松开时触发。如果鼠标拖拽到按钮区域之外释放则不会触发。对应的函数是 mouseReleaseEvent()。一般情况下 connect 槽函数时使用该信号。
  • pressed(): 鼠标按下时,发射信号。对应 mousePressEvent()
  • released():鼠标松开时,发射信号。即使鼠标拖拽到按钮区域之外释放也会触发。对应 mouseReleaseEvent()

当发送emit pressed()后,发送emit released(),只有鼠标还在按钮那个位置才可以触发clicked()。

所以,如果可以直接让clicked()信号再发送emit released()时,一起发送,不用纠结clicked()和released()的区别

-------------本文结束感谢您的阅读-------------