QT中獲取選中的radioButton的兩種方法

2021-10-09 20:47:57 字數 1072 閱讀 9016

qt中要獲取radiobutton組中被選中的那個按鈕,可以採用兩種如下兩種辦法進行:

方法一:採用物件名稱進行獲取

**:

1     qradiobutton* pbtn = qobject_cast(ui->bg->checkedbutton());

2 qstring name = pbtn->objectname();

3 if(!qstring::compare(name, "radiobutton"))

4

7 else if(!qstring::compare(name, "radiobutton_2"))

8

11 else

12

該**片段中,首先使用qobject_cast將checkedbutton()函式返回的qabstractionbutton轉換為其子類型別qradiobutton.然後,獲取被選中按鈕的物件名。這可以通過獲取objectname這個屬性獲取。再稍作判斷即可得知結果。注:bg是手動新增的qgroupbutton型別,radiobutton和radiobutton_2,radiobutton_3都是ui中新增的radiobutton控制項。

方法二:通過button的id來獲取

**:位於建構函式中的**(初始選中第乙個按鈕):

1     ui->bg->setid(ui->radiobutton, 0);

2 ui->bg->setid(ui->radiobutton_2, 1);

3 ui->bg->setid(ui->radiobutton_3, 2);

4 ui->radiobutton->setchecked(true);

這一步是必須的,必須先設定好radiobutton組中各個按鈕的id值,否則會導致程式崩潰。

響應訊號的槽函式或其他函式中的**:

1     int a = ui->bg->checkedid();

2 switch(a)

3

兩種方法具有同樣的效果。

QT中獲取選中的radioButton的兩種方法

qt中要獲取radiobutton組中被選中的那個按鈕,可以採用兩種如下兩種辦法進行 方法一 採用物件名稱進行獲取 1 qradiobutton pbtn qobject cast ui bg checkedbutton 2 qstring name pbtn objectname 3if qstr...

獲取DataGridView中的的選中行

已知值 datagridviewrow datagridviewrow 條件 datagridview繫結到datatable上 求 它對應的datarow 解答 datarow datarow datagridviewrow.databounditem as datarowview row 需要解...

獲取DataGridView中的的選中行

條件 datagridview繫結到datatable上 求 它對應的datarow 解答 datarow datarow datagridviewrow.databounditem as datarowview row 需要解釋一下 1 datagridview.currentrow屬性暴露dat...