qt中clicked(bool checked)和toggled(bool checked)的区别

来源:互联网 发布:撤销网络问政的投诉 编辑:程序博客网 时间:2024/05/20 22:01

先来看qt文档的解释





上面看出

共同点是:当点击按钮时,状态信号都会被发送。

不同点:

clicked: this signal is not emitted if you call setDown,setChecked() or toggle().

toggled:this may be the result of a user action, click() slot activation ,or because setChecked() was called.

显而易见,toggled要比clicked更容易触发。clicked()有的toggled有,而toggled有的,clicked()却不一定有!


另外

     

toggled和trigger区别

  toggle在实物上有开关的意思,这跟我们物理实验用的开关是一回事,两头表示两个状态:合上和断开。于是更准确的译法应该是切换,在两个状态间进行转换。在Qt中,checkable按纽或是图标的槽函数应该用toggled()事件来激活,也是这个道理。

     trigger更有触发的意思。这个单词还有另一个意思就是板机,枪械上用来发射子弹的那种。我们很容易想到板机是没有开/关两种状态的,不能说让它一直关上,一直发射子弹,至少在造词时并没有想到激光武器一说,我想如果针对激光武器,那么要fire的时候应该就不是扣trigger了,而是按toggle。在Qt中,一般的按纽(uncheckable)的激活方式即是triggered()。

》》》》》》》》》》》》转载请标明出处《《《《《《《《《