본문 바로가기
qt 사용하기

qt 빈프로젝트로 만들어 보기.

by Beijing_KingGod 2019. 12. 19.

1)새로운프로젝트를 만든다.

 

 

2)other project 선택 -> empty qmake project 선택

3) project 이름 적고  , kit 는 mingw 32 bit 선택

4) qmake_empty.pro  --> .pro 파일에 다음 코드를 입력한다. 

 

*qmake는 Makefile generator이다.

qt에서 프로젝트 파일은 확장자가 .pro 파일을 생성하는 데 qmake는 pro파일을 가지고 Makefile을 생성한다.

QT += core gui

greaterThan(QT_MAJOR_VERSION,4) : QT += widgets

SOURCES += \
    main.cpp

.pro 파일 명령어

QT : 프로젝트에 사용될 Qt 모듈을 지정한다. 디폴트 값은 Core, Gui이며 이는 QtCore와 QtGui 모듈을 포함한다는 의미다. Qt에 지정되는 모듈은 Core, Gui, Network, OpenGL, SVG, XML, .. 등이 있다.

TEMPLATE : TEMPLATE는 빌드 할 유형을 설명합니다. 응용 프로그램, 라이브러리 또는 단순히 서브 디렉토리 일 수 있습니다.

TARGET : TARGET은 앱 또는 라이브러리의 이름입니다.

* QT 모듈 : qt 모듈

 

TEST FUNCTIONs 은 built-in test function 과 function library 로 나뉜다.

greaterthan 함수는 test function 의 built-int test function 이다. -> 내장 기능 함수.

greaterThan(variablename, value) :

Tests that the value of variablename is greater than value. First, this function attempts a numerical comparison. If at least one of the operands fails to convert, this function does a string comparison.

variablename의 값이 value보다 큰지 테스트합니다. 먼저,이 함수는 수치 비교를 시도합니다. 피연산자 중 하나 이상이 변환에 실패하면이 함수는 문자열 비교를 수행합니다

QT_MAJOR_VERSION  이 4보다 크면 true 리턴, 되서 --> QT+= widgets 을 한다.

 

Add new -> c++ -> c++ source file 선택 -> main.cpp 로 생성

#include <QApplication>

int main(int argc, char **argv)
{
 QApplication app (argc, argv);
 return app.exec();
}

QApplication은 입력 인수뿐만 아니라 이벤트 루프 등 많은 것들을 처리한다.

이벤트 루프는 GUI 응용 프로그램에서 사용자 입력을 기다리는 루프이다.

 

app.exec() 를 호출하면 이벤트 루프가 시작된다.

 

이 응용 프로그램을 컴파일하고 실행하면, 응용 프로그램이 시작된다.

응답하지 않는 것 같지만 실제로 정상이다.

이벤트 루프가 GUI에서 마우스 클릭과 같은 이벤트를 처리하기 위해 대기 중이지만 처리 할 이벤트를 제공하지 않았으므로 무기한으로 실행된다.

 

다른 예제를 보자

#include <QApplication>
#include <QPushButton>

int main(int argc, char **argv)
{
 QApplication app (argc, argv);

 QPushButton button ("Hello world !");
 button.show();

 return app.exec();
}

컴파일 하고 실행 시켜보자.

 

예제3.

#include <QApplication>
#include <QLabel>
int main(int argc, char* argv[]){
    QApplication app(argc, argv);
    QLabel *label = new QLabel("Hello World");
    label -> setWindowTitle("My APP");
    label -> resize(400,400);
    label-> show();
    return app.exec();
}

'qt 사용하기' 카테고리의 다른 글

Qt 프로그램 컴파일 방법-qmake  (0) 2019.12.19
qt 모듈  (0) 2019.12.19
qt 설치  (0) 2019.12.18
qt introduction  (0) 2019.12.18
qt 란  (0) 2019.12.12

댓글