您的位置:首页 > 编程语言 > Qt开发

Qt组件之QRsdioButton

2016-04-06 10:23 411 查看

一、 组件分组—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;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: