[QT]QRadioButton使用group管理

目標

在使用QRadioButton的時候,期望的方式是將幾個radio button group在一起,對值的read/write都可以按group的方式進行,而不用對單個QRadioButton進行處理。

實現(xiàn)

方式

采用QButtonGroup,用如下步驟實現(xiàn):

  1. 新建一個QButtonGroup對象;
  2. 把ui上存在的多個QRadioButton添加到這個QbuttonGroup對象中;
  3. 對group對象中的每一個radio button設置對應的id,方便后續(xù)read/write時通過id進行;
  4. 添加group對象的toggled信號和槽的關聯(lián);
  5. 實現(xiàn)第4步添加的槽函數(shù);

sample code

1. 新建一個QButtonGroup對象

/* RaidoButtonGroup.h*/
QButtonGroup* bgGroup;

/* RadioButtonGroup.cpp constructor*/
bgGroup = new QButtonGroup( this );

2. 把ui上存在的QRadioButton添加到bgGroup中

bgGroup->addButton( ui.rb_0 );
bgGroup->addButton( ui.rb_1 );
bgGroup->addButton( ui.rb_2 );

3. 設置id

bgGroup->setId(ui.rb_0, 0 );
bgGroup->setId( ui.rb_1, 1 );
bgGroup->setId( ui.rb_2, 2 );

4. 添加信號和槽的關聯(lián)

connect( bgGroup, SIGNAL(buttonToggled(int, bool), this, SLOT(on_bgGroup_toggled(int, bool)));

5. 實現(xiàn)槽函數(shù)

void RadioButtonGroup::on_bgGroup_toggled(int id, bool status) {
     // id is the QRadioButton id, status is the check status
    // or you can get value from bgGroup->checkedId();
    qDebug() << bgGroup->checkedId();
    qDebug() << id;
}
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評論 19 139
  • ¥開啟¥ 【iAPP實現(xiàn)進入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 7,295評論 0 17
  • Miss miao說:銀杏葉都快落光了 我才想起前些天寫下的文字,為你續(xù)上幾筆,我也是為我自己。 ——寫在開頭 一...
    郁衡子閱讀 384評論 2 7
  • 過有序生活 孩子第三個30天目標:鞏固清單運用,增強自覺性 媽媽第三個30天目標:目標至上,小事圍繞目標達成 加油...
    chenlan_c55e閱讀 228評論 0 0
  • 按照社會學習理論的觀點( Bandura,197),個 體主要通過觀察學習的方式獲得暴力攻擊行為的圖式。 在日常生...
    葭芷之畔閱讀 1,542評論 0 0

友情鏈接更多精彩內容