原文地址:QRadioButton,QCheckBox用法作者:cyclone

//6.创建一个buttongroup,内有两个radiobutton和两个checkbox,
//分别为radiobutton1、radiobutton2、checkbox1和checkbox2,
//radiobutton1选中的同时,checkbox1也被选中且checkbox2非选中,
//radiobutton2选中的同时,checkbox2也被选中且checkbox1非选中。
#include <myclass6.h>
MyMainWindow::MyMainWindow()
{
  setGeometry(100,100,300,200);

  group=new QButtonGroup("Option",this);
  group->setGeometry(10,10,280,180);

  r1=new QRadioButton("RadioButton1",group);
  r1->move(20,20);
  r2=new QRadioButton("RadioButton2",group);
  r2->move(20,110);
  c1=new QCheckBox("CheckBox1",group);
  c1->move(160,20);
  c2=new QCheckBox("CheckBox2",group);
  c2->move(160,110);

  group->insert(r1);
  group->insert(r2);
  group->insert(c1);
  group->insert(c2);
 
  connect(r1,SIGNAL(clicked()),this,SLOT(MySlot1()));
  connect(r2,SIGNAL(clicked()),this,SLOT(MySlot2()));
}


void MyMainWindow::MySlot1()
{
 c1->setChecked(TRUE);
 c2->setChecked(FALSE);
}
 

void MyMainWindow::MySlot2()
{
 c2->setChecked(TRUE);
 c1->setChecked(FALSE);
}
//6.创建一个buttongroup,内有两个radiobutton和两个checkbox,
//分别为radiobutton1、radiobutton2、checkbox1和checkbox2,
//radiobutton1选中的同时,checkbox1也被选中且checkbox2非选中,
//radiobutton2选中的同时,checkbox2也被选中且checkbox1非选中。
#include<qwidget.h>
#include<qbuttongroup.h>
#include<qradiobutton.h>
#include<qcheckbox.h>
class MyMainWindow:public QWidget
{
    Q_OBJECT
public:
    MyMainWindow();
private:
    QButtonGroup *group;
    QRadioButton *r1;
    QRadioButton *r2;
    QCheckBox *c1;
    QCheckBox *c2;
public slots:
    void MySlot1();
    void MySlot2();
};
#include <qapplication.h>
#include <myclass6.h>

void main(int argc,char **argv)
{
 QApplication a(argc, argv);
 MyMainWindow w;
 a.setMainWidget(&w);
 w.show();
 a.exec();
}