QT学习笔记2:Radio Button及Check Box的使用

0、前言:

本文根据吴健老师的QT教程所写,属于学习笔记,仅为备忘及心得,如有错误,还望指出,感谢。

1、Radio Button的运用

下图1为ui界面,Radio Button作为性别单选使用
QT学习笔记2:Radio Button及Check Box的使用_第1张图片
然后使用Ctrl按键,选中两个Radio Button,右键在弹出的对话框中心选中Assign to button group——》New button group,如下图2所示。
QT学习笔记2:Radio Button及Check Box的使用_第2张图片
在UI界面的右侧的对象浏览器(Object Inspector)中可找到新建的ButtonGroup,并改名为SexGroup,如下图3所示
QT学习笔记2:Radio Button及Check Box的使用_第3张图片
并在属性编辑器中将其设置为互斥(exclusive),如下图4所示,完成后编译UI界面
QT学习笔记2:Radio Button及Check Box的使用_第4张图片
最后再CPP界面,获取单选按钮对应的文本,代码如下

   //获取单选按钮对应文本
     QString sex= this->ui->SexGroup->checkedButton()->text();

具体原理如Help文档所示,大致意思为返回按键是否被按下,如果不是单选互斥按钮,则返回最后一个被按下的按钮。
QT学习笔记2:Radio Button及Check Box的使用_第5张图片QT学习笔记2:Radio Button及Check Box的使用_第6张图片

此外,如需要将默认勾选修改,需要在按键的属性编辑框中,对checked一项进行勾选,注意,在建立RadioButton Group,并保持互斥关系后,两者UI界面默认勾选也遵循互斥原则。默认状态可存在两者均不勾选,单独勾选一个的状态。
QT学习笔记2:Radio Button及Check Box的使用_第7张图片

2、Check Box的运用

check Box的使用方法与Radio Button 类似,先对其新建按键组,是否互斥看具体要求,我们这里新建其为InsGroup
QT学习笔记2:Radio Button及Check Box的使用_第8张图片
然后在CPP界面使用以下代码进行获取

首先,需要获取多选按钮列表,再使用InsGroup长度属性,获取多选按钮组里面按钮的数量,遍历每个按钮是否被按下,注意,需要包含头文件
QT学习笔记2:Radio Button及Check Box的使用_第9张图片

    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()+",";
        }

你可能感兴趣的:(QT)