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 觸發不按壓的信號。

 

二、

 

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