QT學習筆記2:Radio Button及Check Box的使用

0、前言:

本文根據吳健老師的QT教程所寫,屬於學習筆記,僅爲備忘及心得,如有錯誤,還望指出,感謝。

1、Radio Button的運用

下圖1爲ui界面,Radio Button作爲性別單選使用
在這裏插入圖片描述
然後使用Ctrl按鍵,選中兩個Radio Button,右鍵在彈出的對話框中心選中Assign to button group——》New button group,如下圖2所示。
在這裏插入圖片描述
在UI界面的右側的對象瀏覽器(Object Inspector)中可找到新建的ButtonGroup,並改名爲SexGroup,如下圖3所示
在這裏插入圖片描述
並在屬性編輯器中將其設置爲互斥(exclusive),如下圖4所示,完成後編譯UI界面
在這裏插入圖片描述
最後再CPP界面,獲取單選按鈕對應的文本,代碼如下

   //獲取單選按鈕對應文本
     QString sex= this->ui->SexGroup->checkedButton()->text();

具體原理如Help文檔所示,大致意思爲返回按鍵是否被按下,如果不是單選互斥按鈕,則返回最後一個被按下的按鈕。
在這裏插入圖片描述在這裏插入圖片描述

此外,如需要將默認勾選修改,需要在按鍵的屬性編輯框中,對checked一項進行勾選,注意,在建立RadioButton Group,並保持互斥關係後,兩者UI界面默認勾選也遵循互斥原則。默認狀態可存在兩者均不勾選,單獨勾選一個的狀態。
在這裏插入圖片描述

2、Check Box的運用

check Box的使用方法與Radio Button 類似,先對其新建按鍵組,是否互斥看具體要求,我們這裏新建其爲InsGroup
在這裏插入圖片描述
然後在CPP界面使用以下代碼進行獲取

首先,需要獲取多選按鈕列表,再使用InsGroup長度屬性,獲取多選按鈕組裏面按鈕的數量,遍歷每個按鈕是否被按下,注意,需要包含頭文件
在這裏插入圖片描述

    QList<QAbstractButton *>ins_list=this->ui->InsGroup->buttons();
    QString ins;
    for(int i=0;i<ins_list.length();i++)
    {
        QAbstractButton * che = ins_list.at(i);//C++中at類似數組,i爲數組內編號
        if(che->isChecked())//檢測是否被按下
        {
            ins+=che->text()+",";
        }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章