QPushbutton

一、

QAbstractButton是所有按钮的基类。

在生活中,我们看到有的按钮直接按下松开时,按钮会迅速弹起,有时也会看到按钮被点击松开后,按钮处于被按下的状态。对于以上两种描述,如果在Qt中,则会分别发出一个clicked()信号和toggled()信号。按钮被按下时会发出pressed()信号,按钮松开时会发出released()信号。

下面我们来看一下QAbstractButton的属性:


1. autoExclusive:是否启用自动排他性。

当有很多按钮时,并且被设置了checkable为true,我希望在同一时间,我只能按下其中的一个按钮,如果按下另一个按钮,那先前被按下的按钮会自动弹起,将autoExclusive设置为true是个很好的选择。
这些按钮需要有相同的父控件。
使用QButtonGroup也可以做到这一点。


2. autoRepeat, autoRepeatDelay, autoRepeatInterval:

如果启用了autoRepeat,那么pressed()、release()和clicked()的信号会在按钮按下时定时发出。autoRepeat默认是false。最初的延迟和重复间隔由autoRepeatDelay和autoRepeatInterval保存,都以毫秒为单位。注意按钮一直处于按下状态时才会触发。如果按钮松开,则会关闭。

用此功能存在的问题,无法捕捉按钮不按的事件。

如果需要知道按钮不按时的事件,使用另一种方法,pressed 开启计时器,计时器间隔时间触发信号 ,released 触发不按压的信号。

 

二、

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章