1 在ui介面中加入控制項
2 對qradiobutton控制項進行分組
qradiobutton的分組有多重方法,如採用組合框、qwidge等,下面介紹採用qbuttongroup方法來實現分組,好處是不影響qradiobutton在介面上的顯示(組合框分組方式會在介面上出現組合框,要以自己的需要選擇),以及方便id的設定。
新增標頭檔案
#include #include
宣告qbuttongroup變數
private:
qbuttongroup *groupbutton1;
qbuttongroup *groupbutton2;
在窗體建構函式中初始化qbuttongroup,把相應的qradiobutton新增進來並設定id
groupbutton1=new qbuttongroup(this);
groupbutton1->addbutton(ui->banan_radiobutton,1);
groupbutton1->addbutton(ui->pear_radiobutton,2);
groupbutton2=new qbuttongroup(this);
groupbutton2->addbutton(ui->potato_radiobutton,0);
groupbutton2->addbutton(ui->greenpepper_radiobutton,1);
groupbutton2->addbutton(ui->spinach_radiobutton,2);
ui->greenpepper_radiobutton->setchecked(true);
3 多個qradiobutton控制項響應同乙個槽函式
在標頭檔案中宣告槽函式
public slots:
void slots_fruits();
void slots_vegetables();
在窗體建構函式中繫結訊號和槽函式
//繫結訊號和槽函式
this,slot(slots_fruits()));
connect(ui->banan_radiobutton,signal(clicked(bool)),
this,slot(slots_fruits()));
connect(ui->pear_radiobutton,signal(clicked(bool)),
this,slot(slots_fruits()));
//繫結訊號和槽函式
connect(ui->potato_radiobutton,signal(clicked(bool)),
this,slot(slots_vegetables()));
connect(ui->greenpepper_radiobutton,signal(clicked(bool)),
this,slot(slots_vegetables()));
connect(ui->spinach_radiobutton,signal(clicked(bool)),
this,slot(slots_vegetables()));
槽函式的實現
qradiobutton的槽函式中,不需要逐個檢查qradiobutton控制項狀態,僅僅通過groupbutton1->checkedid()來獲知哪乙個qradiobutton控制項被選中,其返回被選中控制項的id值。
參考資料
Qt的Radio Button 單選按鈕
qradiobutton的分組有多重方法,如採用組合框 qwidge等,採用qbuttongroup方法來實現分組,好處是不影響qradiobutton在介面上的顯示 組合框分組方式會在介面上出現組合框,要以自己的需要選擇 以及方便id的設定。新增標頭檔案 include include 宣告qbu...
QT中獲取選中的radioButton的兩種方法
qt中要獲取radiobutton組中被選中的那個按鈕,可以採用兩種如下兩種辦法進行 方法一 採用物件名稱進行獲取 1 qradiobutton pbtn qobject cast ui bg checkedbutton 2 qstring name pbtn objectname 3 if qst...
QT中獲取選中的radioButton的兩種方法
qt中要獲取radiobutton組中被選中的那個按鈕,可以採用兩種如下兩種辦法進行 方法一 採用物件名稱進行獲取 1 qradiobutton pbtn qobject cast ui bg checkedbutton 2 qstring name pbtn objectname 3if qstr...