본문 바로가기

QT/QT 4.6.2

Hello QT!!

일단 QT를 공부하기 위해서는 어떤 언어든지 쓰는 Hello World!!를 조금
바꾸어서 Hello QT를 출력 하기 위한 소스를 작성해 볼려고 한다.

일단은
Empty Qt4 Project로 프로젝트를 생성했다.
그렇게 생성을 해보니 밑의 그림처럼 HelloQT.pro 파일만 나왔다.

여기에서 HelloQT 폴더에서 마우스 오른쪽 버튼을 누름 뒤 Add New를 선택 하였다.


Add New를 선택 한 뒤 어떠한 파일을 생성 할 것인지 정하는 창이 나오는데,
여기에서 C++에서 C++ Source File를 선택 하였다. 
선택하게 되면 파일이름을 적는 부분이 나오게 되는데, 여기에서 폴더 이름과 같은 HelloQT.cpp 로 파일이름을 정하였다.
그럼 다음 창에서 HelloQT.pro에 포함을 시킬 것인지 물어 보는데, 당연히 포함을 시켜야
빌드가 되기 때문에 포함을 시켰다.

그렇게 포함을 시킨 후 HelloQT.pro 파일을 보게 되면,

이렇게 SOURCES라고 하는 부분에 HelloQT.cpp 파일이 추가 된것을 알 수 있었다.

이제 HelloQT.cpp에서 HelloQT를 띄우기 위한 소스를 작성해 봤다.

#include  
#include 

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QLabel *label = new QLabel("Hello QT!!!!!!");
   
    label->show();
   
    return app.exec();

}



이렇게 소스를 작성을 한 후 Ctrl + R를 눌러서 실행을 시켜 보았다.


그 결과 QT를 이용한 첫 출력문인 Hello QT가 출력이 되었다.

간단하게 소스를 분석 해 보았다.

먼저 헤더 파일 선언 부분에 대해서 분석 해 보니

#include <QApplication>
여기에서 QApplication 같은 경우는 GUI 응용 프로그램의 제어 흐름과 주요 설정사항을 관리하는 클래스
윈도우 시스템 및 기타 소스에서 모든 이벤트를 처리 및 보내는 메인 이벤트 루프가 포함된다고 QT Assistant에서
설명이 되어 있었다.

#include <QLabel>
QLabel 같은 경우는 Label 뜻 그대로 간단한 글을 적기 위한 클래스라고 이해를 하였다.

int main(int argc, char *argv[])
이건 c언어나 c++언어에서 많이 본 부분이라 그냥 이해를 하였고, 

QApplication app(argc, argv);
QApplication 클래스에서 app 객체를 생성하는 부분이며, 이 객체가 없으면 프로그램이 실행이 되지 않는다는 것을 알 수 있었다. 즉, QT로 프로그램을 짤때 꼭 필요한 부분이라는 것을 알게 외었으며, GUI 프로그램에서 하나의 QApplication만이 존재 할 수 있다는 것을 알았다.

QLabel *label = new QLabel("Hello QT!!!!!!");
QLabel은 Hello QT를 보여 주기 위한 부분으로 Hello QT 문자열을 초기화 시켜 주었다. 

label->show();
Hello QT를 적은 내용을 보여 주기 위해 사용 하였다. 

return app.exec();
어플리케이션의 이벤트 루프로 들어가는 함수로 어떤 이벤트를 기다리면서 대기 하는 중이라고  하였다.