반응형

QT - Widget, Console, Quick 프로젝트 생성하여 Hello world 출력하기

 

 

1. Qt Widgets Application으로 Hello world 출력하기

Qt Widgets Application을 만들고 계속 Next를 누른다.

 

프로젝트를 생성하면 아래와 같이 파일이 생성된다.

 

Test1.pro : project에 대한 정보를 가지고 있음

main.cpp : 프로그램 진입점

mainwindow.h / mainwindow.cpp : 위젯

mainwindow.ui : ui 디자인 파일이고, 실제로는 xml 파일 형식으로 되어 있다. 

 

 

main.cpp

QApplication과 MainWindow를 생성하고, 윈도우를 표시한다.

 

mainwindow.h / mainwindow.cpp

QMainWindow를 상속한 MainWindow 클래스에서 widget을 만든다.

 

mainwindow.ui 

디자인 도구를 사용하여 Hello World! 를 찍도록 Label을 추가한다.

코드를 빌드하여, RUN하면 아래와 같이 Hello world!가 출력된다. 

 

2. Qt Console Application으로 Hello world 출력하기

Qt Console Application으로 프로젝트를 생성하면, 프로젝트 정보를 담고 있는 pro 파일과 main.cpp만 생성된다.

간단하게 printf만 작성하여 hello world!를 출력해보자.

#include <QCoreApplication>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    printf("hello world!");

    return a.exec();
}

빌드하고 실행하면 아래와 같이 Console로 출력된다.

 

3. Qt Quick Application - Empty 로 Hello world 출력하기

프로젝트가 생성되면, 프로젝트 정보를 가지고 있는 pro 파일과 main. cpp 그리고 main.qml 파일이 생성된다. 

 

 

 

main.qml에 hello world!를 출력할 Label을 생성하여, 문구를 출력해 본다.

import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Controls 2.12

Window {
    visible: true
    width: 640
    height: 480
    title: qsTr("First Program")

    Label {
        id: hello
        text: "Hello world!"
        color: Black
    }
}

실행해보면 아래와 같이 출력된다. 

 

 

Widget, Console, Quick 프로젝트를 생성하고, 간단하게 hello world를 출력해 보았다. 

반응형
반응형

QT Creator 설치하기

윈도우 용 Creator를 설치해 보겠습니다. 

 

먼저 아래 링크로 들어가서 최신 Creator를 받아 보겠습니다. 

개인용으로 사용한다면, 아래 링크에서 다운로드 하면 됩니다. 

https://download.qt.io/archive/qt/

 

Index of /archive/qt

 

download.qt.io

아직 5.15 버전은 정식으로 나오지 않아, 5.14.2 버전을 다운로드 해보겠습니다. 

용량은 2.3G 정도이고, 다운로드한 다음에 실행파일만 실행시켜 주면 바로 설치로 들어갑니다. 

 

필요한 Components를 선택하여 설치합니다. 

 

 

Component에 따라 설치할 파일들의 용량이 달라질 수 있어요. 

모두 설치하게 되면 10G 넘게 되더라구요. 

이제 Qt Creator가 설치되었습니다. 

Finish를 눌러 실행이 잘 되는지 볼 수 있습니다. 

실행되면 아래와 같이 보여집니다. 

다음엔 프로젝트를 생성해 간단한 hello world를 찍는 프로그램을 만들어 보겠습니다.

반응형

+ Recent posts