Qt组件之QRsdioButton

来源:互联网 发布:自动绘画软件 编辑:程序博客网 时间:2024/05/12 10:25

一、 组件分组—QButtonGroup

(1) 代码分组

btnGroupFruits = new QButtonGroup(this);btnGroupFruits->addButton(ui->radioButton11, 0);btnGroupFruits->addButton(ui->radioButton12, 1);ui->radioButton11->setChecked(true);btnGroupVegetables = new QButtonGroup(this);btnGroupVegetables->addButton(ui->radioButton21, 0);btnGroupVegetables->addButton(ui->radioButton22, 1);ui->radioButton21->setChecked(true);

(2) 手动分组
选定一组的组件,右击选择,Assign to button group

二、 多个组件响应一个槽函数

public slots:void onRadioClickFruits();void onRadioClickVegetables();
connect(ui->radioButton11, SIGNAL(clicked()), this, SLOT(onRadioClickFruits()));connect(ui->radioButton12, SIGNAL(clicked()), this, SLOT(onRadioClickFruits()));connect(ui->radioButton21, SIGNAL(clicked()), this, SLOT(onRadioClickVegetables()));connect(ui->radioButton22, SIGNAL(clicked()), this, SLOT(onRadioClickVegetables()));

槽函数的实现:
槽函数中,不要逐个检查每个QRadioButton的状态,使用QButtonGroup类的checkedID()函数来获取哪一个被选中,返回值为被选中的组件的ID。

void MainWindow::onRadioClickFruits(){    switch(btnGroupFruits->checkedId())    {    case 0:        break;    case 1:        break;    }}void MainWindow::onRadioClickVegetables(){    switch(btnGroupVegetables->checkedId())    {    case 0:        break;    case 1:        break;    }}
0 0
原创粉丝点击