Qt QButtonGroup 一些記錄

1、需求是這樣,把n個按鈕放入QButtonGroup中,可以不選,也可以只選中一個。QButtonGroup默認exclusive屬性爲true,即單選。那麼問題來了,如何做到一個也不選呢,當前情況即使再單擊選中的按鈕,狀態也不會變爲unChecked。

我的做法是添加一個輔助按鈕AsstBtn放入QButtonGroup中,然後設置尺寸爲QSize(1,1),當我們不需要選中時,就把這個隱藏的按鈕設置爲check狀態,可以完美匹配需求~

2、在做上面需求的過程中,出了點小問題。在把AsstBtn放入QButtonGroup中時,我使用了QButtonGroup->addButton(AsstBtn, -1)。本意是想判斷QButtonGroup checkId時,有一個-1的判斷。但是卻發現這個checkId值不爲-1,應用到項目裏就有詭異的現象。發現這個問題後,我還是乖乖地用宏定義設置一個其他特殊值了。

在實際項目中,上面這種UI 利用輔助控件來打到對應目的的思路,我已經用到了很多次,幫助還是很大的,希望對大家有所幫助。

上碼~

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