4. Example
4.1. RadioBtEx.cpp
#include "RadioBtEx.h"
RadioBtEx::RadioBtEx()
{
resize(160,140);
QButtonGroup* myButtonGrp = new QButtonGroup("Button Group",this); // 버튼 그룹 생성
myButtonGrp->setGeometry(10,10,140,120); // 위치 설정
myRadioBt1 = new QRadioButton("Radio Btn1",myButtonGrp); // 버튼 생성
myRadioBt1->move(10,20); // 버튼 위치 설정
myRadioBt2 = new QRadioButton("Radio Btn2",myButtonGrp);
myRadioBt2->move(10,50);
myRadioBt3 = new QRadioButton("Radio Btn3",myButtonGrp);
myRadioBt3->move(10,80);myButtonGrp->insert(myRadioBt1,0); // 버튼 그룹에 버튼을 묶음
myButtonGrp->insert(myRadioBt2,1);
myButtonGrp->insert(myRadioBt3,2);myButtonGrp->setButton(1); // 디톨트 버튼 설정
connect(myButtonGrp,SIGNAL(clicked(int)),this,SLOT(slotClicked(int)));
}void RadioBtEx::slotClicked(int id)
{
if(id==0) // 해당 버튼 (0~2)이 눌러지면, 제목창의 글자를 바꿈
setCaption("Radio Btn 1");
else if(id==1)
setCaption("Radio bTn 2");
else
setCaption("Radio btN 3");
}int main(int argc, char** argv)
{
QApplication app(argc,argv);
RadioBtEx myRadioBtEx;
app.setMainWidget(&myRadioBtEx);
myRadioBtEx.show();return app.exec();
}
4.2. RadioBtEx.h
#ifndef RADIOBTEX_H
#define RADIOBTEX_H#include <qapplication.h>
#include <qwidget.h>
#include <qradiobutton.h>
#include <qbuttongroup.h>class RadioBtEx:public QWidget
{
Q_OBJECT // 시그널 슬롯 사용
public:
RadioBtEx();
private:
QButtonGroup* myButtonGrp; // 버튼 그룹 선언
QRadioButton* myRadioBt1; // 버튼 선언
QRadioButton* myRadioBt2;
QRadioButton* myRadioBt3;public slots:
void slotClicked(int); // 슬롯 함수 선언 인자를 전달할 수 있음
};#endif
5. 컴파일
gmake -project -o RadioBtEx.pro
qmake
make
6. 실행결과
최근댓글