[Qt] Console과 GUI 기반의 "Hello World" 출력하기

amudomolla·2023년 6월 30일
0

Qt

목록 보기
4/12
post-custom-banner

1. 콘솔 기반 "Hello World" 출력하기

1) 프로젝트 생성

[File] 클릭 > [New File or Project] 클릭

[Qt Console Application] 클릭 > [Choose] 클릭

프로젝트가 생성되는 위치 지정하고, 프로젝트 이름 설정 후 Next 클릭

빌드시스템을 qmake로 선택하고, Next 클릭

빌드할 컴파일러를 선택하기
박스 위에 마우스 커서를 올리면, [Manage...] 가 뜸 > 버튼 클릭

Kits에서 Complier 및 Qt version 수정

Qt Versions 선택하기 위해 Qt Versions에서 [Add...] 클릭

qmake 경로 선택 후 [Apply] 클릭

2) "Hello World" 출력

아래의 코드를 입력

#include <QCoreApplication>  // GUI가 없는 Qt 애플리케이션의 경우, Qt GUI 모듈에 의존하지 않으므로 QCoreApplication을 사용
#include <QDebug>

int main(int argc, char *argv[])
{
	QCoreApplication a(argc, argv);
	qDebug() << "Hello World.";
    
 	return a.exec();
}

[Ctrl]+[B] 를 눌러 Build

[Ctrl]+[R] 을 눌러 Run


2. GUI 기반 "Hello World" 출력하기

1) 프로젝트 생성

[File] 클릭 > [New File or Project] 클릭

[Qt Widgets Application] 클릭 > [Choose] 클릭

프로젝트 이름 및 저장 경로 설정 후 Next 클릭

1번 Console 때, Kits를 모두 설정했기 때문에 이제는 그냥 Next 클릭

프로젝트의 메인 클래스(처음 로딩되면 로딩되는 메인 윈도우 위젯 클래스)의 이름, 헤더 파일명, 소스 파일명 그리고 메인 클래스에 디자인 폼을 지정할 것인지 묻
는 체크박스 그리고 디자인 폼의 파일명(.ui)을 지정

✅ Generate form의 체크박스는 해제 > Next 클릭

Qt Creator가 위젯 생성에 필요한 기본적인 프로젝트파일(.pro) 파일, main.cpp, widget.h 그리고 widget.cpp 파일을 자동으로 생성

2) "Hello World" 출력

아래의 코드를 입력

[main.cpp]

#include "widget.h"
#include <QApplication> 

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget mywidget;
    mywidget.show();
    
    return a.exec();
}
[widget.h]

#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QPushButton>

class Widget : public QWidget
{
    Q_OBJECT
public:
    Widget(QWidget *parent = 0);
    ~Widget();
    
private:
    QPushButton *btn;
    QString str;
    
public slots:
    void slot_btn();
};

#endif // WIDGET_H
[widget.cpp]

#include "widget.h"
#include <QDebug>

Widget::Widget(QWidget *parent) : QWidget(parent)
{
    setFixedSize(300, 200);
    str = QString("Hello World");
    btn = new QPushButton(str, this);
    btn->setGeometry(10, 10, 100, 30);
    connect(btn, &QPushButton::clicked, this, &Widget::slot_btn);
}
void Widget::slot_btn()
{
    qDebug() << "Hello World button clicked.!!";
}
Widget::~Widget()
{
}

[Ctrl]+[B] 를 눌러 Build 👉 [Ctrl]+[R] 을 눌러 Run

참고 사이트
에러 해결 방법

셜치 후 바로 프로젝트를 만들고 실행하다보니 아래의 에러가 발생

❗ cannot find -lGL
❗ collect2: error: ld returned 1 exit  status

다음의 방법으로 해결

터미널 열고, 아래의 명령어 입력

sudo apt-get install libglu1-mesa-dev -y

다시 [Ctrl]+[B] 를 눌러 Build 👉 [Ctrl]+[R] 을 눌러 Run

[Hello World] 버튼 클릭하면, [Hello World button cliked.!!] 출력

profile
👩‍💻 기록 및 복습을 위함
post-custom-banner

0개의 댓글