ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • QT 정리2- Button 만들기, 시그널, 슬롯
    Programming 2011. 6. 30. 03:43

    Button 만들기

    다음의 코드를 보자


    #include <QApplication>
    #include <qpushbutton.h>
     
    int main(int argc, char *argv[])
    {
    	QApplication app(argc, argv);
    	QPushButton bt("Button");
    	bt.show();
    	app.exec();
    	return 0;
    }

    실행하게 되면 버튼이 하나 있는 윈도우가 뜰 것이다.

    QPushButton 클래스는 이러한 버튼의 클래스이며, 이를 제외한 나머지는 라벨을 윈도우에 붙여 만들 었던 것과 동일하다.

    자, 그럼 이 버튼을 눌렀을때 어떤 반응을 보이고 싶다면 어떻게 해야할까?

    MFC에선 리소스 탭에서 리소스를 작성하고 콜백함수를 작성한다. 이벤트 처리기 마법사 등을 통해서 말이다.

    QT에서는 (크리에이터란 QT자체 IDE를 사용하면 다르지만) 시그널과 슬롯이라는 것을 별도로 연결해주어야만 한다.

    다음을 보자


    #include <QApplication>
    #include <QLabel>
    #include <qpushbutton.h>
     
    int main(int argc, char *argv[])
    {
    	QApplication app(argc, argv);
    	QPushButton bt("Button");
    	//bt라는 버튼을 클릭했을때 new_window 함수와 이어주는 부분
    	QObject::connect(&bt, SIGNAL(clicked()), &app, SLOT(quit()));
    	//
    	bt.show();
    	app.exec();
    	return 0;
    }
    


    위의 코드를 실행하게 되면 Button이라는 버튼을 누를 경우 윈도우 창이 꺼지게 된다.

    QObject::connect()라는 함수를 이용하여 시그널에 들어가는 이벤트에 대해 슬롯에 들어가는 반응을 보이게 되는 것이다.


    'Programming' 카테고리의 다른 글

    Silverlight 시작...  (0) 2011.07.05
    QT 정리-3 다이얼로그 만들기  (0) 2011.06.30
    QT 정리1- QT소개, QT시작  (0) 2011.06.30
    6.5 설치 및 샘플 재 빌드  (6) 2011.06.27
    OpenCASCADE Connecting View  (2) 2011.05.24
Designed by Tistory.