Qt学习笔记(十六):QRadioButton 的常用方法
// QRadioButton 是单选按钮,当有多个 QRadioButton 控件存在时,只能选中一个;// 一般在使用 QRadioButton 控件时,都需要给 QRadioButton 分组;// 使用 QGroupBox 控件进行分组,该控件通常带有一个边框和一个标题栏,作为容器部件来使用;// 需要注意的是,QGroupBox 容器内部必须使用布...
·
// 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);
genderLayout->addWidget(rBtnWoman);
genderLayout->addWidget(rBtnUnknown);
// 创建婚否组布局:垂直布局;指定其父对象为分组控件
QVBoxLayout *marryLayout = new QVBoxLayout(marryGroup);
marryLayout->addWidget(rBtnSpinsterhood);
marryLayout->addWidget(rBtnMarried);
// 将布局控件添加到组中
genderGroup->setLayout(genderLayout);
marryGroup->setLayout(marryLayout);
效果:
上面是通过代码实现的,还可以在界面设计器上快速的布局控件。
更多推荐
已为社区贡献2条内容
所有评论(0)