QT/QT 3.3
[QT 3] 기초 프로그래밍 4
행복하면
2009. 4. 29. 18:37
/*********************************************************** 네번째 : 화면의 타이틀에 Hello World을 출력 하고 pushbutton을 만들고 클릭하면 프로그램을 종료하는 프로그램 ************************************************************/ #include#include #include //QPushButton클래스를 사용하기 위해 선언한 헤더 파일 /************************************************************ ============ 클래스 ============ QPushButton클래스 : 가장 많이 사용되는 GUI의 구성요소인 버튼으로 사용자가 누르고 뗄 수 있음. 그리고 텍스트 또는 QPixmap을 이용한 이미지를 표현 할 수 있음 일반적으로 버튼은 이 클래스 사용 ============ 함수 ============ setCaption("설정할 내용") : 캡션을 설정 하는 함수 캡션을 타이틀 이라고도 함 setGeometry(20,20,80,40) : 출력할 위치를 결정 connect(bt1, SIGNAL(clicked()), qApp, SLOT(quit())) : 첫번째 인자인 bt1은 푸쉬 버튼 위젯의 포인터 두번째 인자는 clicked()라는 시그널 세번째 인자는 qApp는 QApplication 객체의 포인터로 Qt프로그램 내에서 어디에 있던지 사용할 수 있는 인스턴스 네번째 인자는 quit()라는 시그널 즉, clicked() 시그널은 버튼이 클릭 되었을때 발생하는 시그널로 다시 말하면 만약 클릭이 되었다면, 시그널에 clicked()함수가 발생되어 시그널에 변화가 있기 때문에 슬롯의 quit() 시그널을 발생 시킴 ************************************************************/ class MyWidget : public QWidget { public: MyWidget(); private: QPushButton* bt1; }; MyWidget::MyWidget() { setCaption("Hello World"); bt1 = new QPushButton("Quit", this); bt1->setGeometry(20,20,80,40); connect(bt1, SIGNAL(clicked()), qApp, SLOT(quit())); /* 클릭할 경우 clicked() 시그널 발생 그리고 qApp 객체의 quit() 슬롯 함수에서 연결해서 프로그램 종료 */ } int main(int argc, char** argv) { QApplication app(argc, argv); MyWidget m; app.setMainWidget(&m); m.resize(150,100); m.show(); return app.exec(); }