티스토리 뷰



개인 공부 후 남기는 포스팅입니다. 잘못된 정보가 포함되어 있을 수 있으니 혹여 발견하신다면 지적 감사드립니다.

개발환경은 Linux Mint 17 (64bit) 입니다. 자세한 내용은 개발환경 구축에 대한 포스팅을 참고해주세요.



모든 프로그래밍의 첫 걸음 Hello World 를 Qt를 사용해 찍어보겠습니다. 그리고 이를 통해 Qt가 어떠한 방법으로 컴파일 되는지 확인할 수 있습니다.


HelloWorld.cpp

#include "QApplication"
#include "QLabel"

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


QApplication 헤더는 Qt를 사용하는 프로그램이 기본적으로 가진 헤더입니다. 그리고 GUI 상에 HelloWorld를 출력하기 위한 Qt의 Label 기능을 포함한 QLabel 헤더도 추가합니다. main 내부에는 QApplication, QLabel의 객체를 생성하고 QLabel 객체를 할당 받을 때 "Hello Qt"를 인자로 받아 객체를 생성합니다. label의 show 멤버 함수를 통해 화면에 출력합니다.


이제 소스 파일이 있는 디렉토리에서 qmake -project 명령어를 실행하면 해당 디렉토리명.pro 파일이 생성됩니다. 이 파일은 Qt의 프로젝트 파일로 소스 파일, 헤더 파일, UI 파일 등의 정보를 가집니다.


01_HelloWorld.pro


pro 파일이 생성되었다면 이제 qmake 명령어를 통해 Makefile을 생성할 수 있습니다. Do it.


Makefile

qmake 명령어는 Qt Project 파일(*.pro)를 바탕으로 Makefile을 생성합니다. 리눅스 프로그래밍 처음 배울 때 Makefile을 일일히 생성해줘야 해서 고통이었는데 자동으로 생성해 준다는 점은 장점이 아닐까 싶습니다. (make clean 등 모두 정의 되어있음)


하여튼 Makefile이 생겼으니 make 명령어를 사용 할 수 있습니다. 

make 명령어를 실행하면 HelloWorld.cpp를 컴파일 하며 Binary 파일이 생성됩니다. 이 파일을 실행하면 아래와 같은 HelloWorld 프로그램을 확인할 수 있습니다.



축하합니다. Qt로 GUI 프로그래밍을 하셨네요.



참고


C++ GUI 프로그래밍

저자
자스민 블랑쉐 지음
출판사
아이티씨 | 2009-03-17 출간
카테고리
컴퓨터/IT
책소개
트롤테크 공식지정도서! 최고의 Qt 4 프로그래밍 실용 가이드!...
가격비교



저작자 표시 비영리 변경 금지
신고
프로필사진

Yowu (Yu Yongwoo)

My MBTI type is ENTP. (Of course I do not believe it 100%, but I want to do that) I use Node.js to develop the backend. I use Ubuntu Linux as my development environment, and I love Vim. I am interested in open source and are keen to contribute. I have a bachelor's degree in computer science from Catholic University and now a software engineer at Plating Inc., I spent about 5 years developing and learning, and I am still interested in software development and culture. Recently, I am interested in React, Serverless structure, Domain Design Driven. Sometimes I play drums in the band.