qt中clicked和toggled的区别
发布网友
发布时间:2022-04-20 03:13
我来回答
共1个回答
热心网友
时间:2023-09-05 18:54
共同点是:当点击按钮时,状态信号都会被发送。
不同点:
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()。