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. 실행결과

     

     

    반응형
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기