简述
QRadioButton小部件提供带有文本标签的单选按钮。
QRadioButton是一个选项按钮,可以打开(选中)或关闭(取消选中)。单选按钮通常向用户显示“多个”选项。在一组单选按钮中,一次只能选中一个单选按钮。如果用户选择另一个按钮,则先前选择的按钮将关闭。
默认情况下,单选按钮是自动互斥的。如果启用了自动互斥,则属于同一父控件的单选按钮的行为就好像它们属于同一按钮组的一样。如果需要属于同一父控件的多个互斥按钮组,请将它们放入QButtonGroup中。
用法
效果
源码
QGroupBox *groupBox1 = new QGroupBox("按钮组1");
QRadioButton *radioBtn1_1 = new QRadioButton("一号男嘉宾");
radioBtn1_1->setChecked(true);
QRadioButton *radioBtn1_2 = new QRadioButton("二号男嘉宾");
QRadioButton *radioBtn1_3 = new QRadioButton("三号男嘉宾");
QVBoxLayout *vLayout1 = new QVBoxLayout;
vLayout1->addWidget(radioBtn1_1);
vLayout1->addWidget(radioBtn1_2);
vLayout1->addWidget(radioBtn1_3);
groupBox1->setLayout(vLayout1);
QGroupBox *groupBox2 = new QGroupBox("按钮组2");
QRadioButton *radioBtn2_1 = new QRadioButton("一号女嘉宾");
radioBtn2_1->setChecked(true);
QRadioButton *radioBtn2_2 = new QRadioButton("二号女嘉宾");
QRadioButton *radioBtn2_3 = new QRadioButton("三号女嘉宾");
QVBoxLayout *vLayout2 = new QVBoxLayout;
vLayout2->addWidget(radioBtn2_1);
vLayout2->addWidget(radioBtn2_2);
vLayout2->addWidget(radioBtn2_3);
groupBox2->setLayout(vLayout2);
QHBoxLayout *layout = new QHBoxLayout;
layout->addWidget(groupBox1);
layout->addWidget(groupBox2);
this->setLayout(layout);
总结
QRadioButton的接口和普通按钮一样,用法也差不多。
QRadioButton按钮用于多选一的场合,当然也可以通过QButtonGroup的setExclusive方法实现多选多,但是,我们不这样做,因为QRadioButton被创造的目的就是方便我们实现多选一。多选多应当用QCheckBox。
引用
[1] Qt助手