Qt学习笔记(⼗六):QRadioButton的常⽤⽅法
// QRadioButton 是单选按钮,当有多个 QRadioButton 控件存在时,只能选中⼀个;
// ⼀般在使⽤ QRadioButton 控件时,都需要给 QRadioButton 分组;
// 使⽤ QGroupBox 控件进⾏分组,该控件通常带有⼀个边框和⼀个标题栏,作为容器部件来使⽤;
// 需要注意的是,QGroupBox 容器内部必须使⽤布局控件(QLayout)进⾏布局;
// 创建分组对象
QGroupBox *genderGroup = new QGroupBox(this);
genderGroup->setTitle("性别");
genderGroup->setGeometry(30, 20, 100, 100);
QGroupBox *marryGroup = new QGroupBox("婚否", this);
marryGroup->setGeometry(30, 150, 100, 100);
/
/ 创建4个单选框对象:指定其⽗对象为分组控件
QRadioButton *rBtnMan = new QRadioButton("男", genderGroup);
QRadioButton *rBtnWoman = new QRadioButton("⼥", genderGroup);
QRadioButton *rBtnUnknown = new QRadioButton("未知", genderGroup);
rBtnMan->setChecked(true);  // 设置默认选中
// QRadioButton 有⼀个状态切换的信号 toggled,即该信号在状态切换时发送;
connect(rBtnMan, &QRadioButton::toggled, [=](bool isChecked){
if (isChecked == true)
qDebug() << "单选框被选中了";
else if (isChecked == false)
qDebug() << "单选框失去焦点了";
});
QRadioButton *rBtnSpinsterhood = new QRadioButton("未婚", marryGroup);
QRadioButton *rBtnMarried = new QRadioButton("已婚", marryGroup);
rBtnSpinsterhood->setChecked(true);
// 创建性别组布局:垂直布局;指定其⽗对象为分组控件
QVBoxLayout *genderLayout = new QVBoxLayout(genderGroup);
genderLayout->addWidget(rBtnMan);
htmlradio设置默认的按钮
genderLayout->addWidget(rBtnWoman);
genderLayout->addWidget(rBtnUnknown);
// 创建婚否组布局:垂直布局;指定其⽗对象为分组控件
QVBoxLayout *marryLayout = new QVBoxLayout(marryGroup);
marryLayout->addWidget(rBtnSpinsterhood);
marryLayout->addWidget(rBtnMarried);
// 将布局控件添加到组中
genderGroup->setLayout(genderLayout);
marryGroup->setLayout(marryLayout);
效果:
上⾯是通过代码实现的,还可以在界⾯设计器上快速的布局控件。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。