QRadioButton、QCheckBox、QPushButton都继承自QAbstractButton。这几个Button的绝大多数属性和方法相同,如果想了解QPushButton可以点击这里查看。
QRadioButton默认为单选(默认情况下,在同一个widget或父容器中的QRadioButton最多只能有一个被选择),其实现方式是设置了排他性(autoExclusive)和可选择性(checkable)这些在QPushButton那一节已经做了详细的介绍。
QCheckBox默认为多选(可以选择多个),其实现方式是设置了可选择性(checkable)和取消排他性。
从上面的介绍不难看出,其实完全可以利用QPushButton,通过设置不同的属性来实现QRadioButton和QCheckBox的功能。QRadioButton也可以通过取消排他属性来设置为可以多选,QCheckBox也可以打开排他属性,来实现只能单选。
常用属性介绍、信号事件这些就不在这里讲了,需要的话参考前面讲的QPushButton。在讲QPushButton时有讲到QButtonGroup,QButtonGroup主要作用是将QAbstractButton进行分组,这样的话对于设置了排他属性的QAbstractButton来说,只会在同组内相互排斥。这一节我们着重来讲QButtonGroup,主要从以下几个方面来讲:
[1]QButtonGroup信号
[2]通过QButtonGroup对象获取被选中的按钮