IT 정보/라즈베리파이 + Qt

라즈베리파이 Qt 설치하기 - Label 과 PushButton 실습

핵발전소 2020. 11. 4. 21:40

 

안녕하세요 여러분들을 '발전' 시켜줄 핵발전소입니다.

라즈베리파이에서 Qt를 설치해봅시다.

 

Qt란? Gui 환경으로 프로그램을 개발할 수 있는 개발 툴이라고 보시면 간단합니다.

기본적으로 Qt Creator를 통해 Ui도 직접 설계할 수 있고 

C++을 통해 Ui를 연결해 프로그래밍 작업을 할 수 있습니다.

라즈베리 파이 보드 내에서 직접 컴파일을 할 수 있고 

간단한 과제, 프로그램 개발로 아주 적합한 프로그램입니다.

 


Qt Creator 설치하기

라즈베리파이 터미널에서 설치를 시작하겠습니다.

 

$ sudo apt update
$ sudo apt upgrade
$ sudo apt install qtcreator
$ sudo apt install qt5-default

위와 같이 입력해주세요. 업데이트와 업그레이드 후 설치하시길 권장드립니다.

 

 


Qt Creator 실행하기

$ qtcreator

설치가 완료되었으면 터미널에서 qtcreator 치면 프로그램이 실행됩니다.

혹은 좌측 상단 산딸기 모양(시작 버튼) 누르시고 개발 -> Qt Creator 누르시면 됩니다.

 

 


UI 간단 실습

Qt Creator 모습입니다. 간단한 실습을 한번 해보겠습니다. 

 

내용은 버튼을 눌렀을 때 HELLO 가 출력되는 프로그램입니다. 

New Project를 눌러 새로운 프로젝트를 만듭시다.

 

Qt Widgets Application 눌러주세요. 

Console은 텍스트만 나옵니다. 우린 GUI 사용하려고 Qt를 설치했죠??? Widgets으로 갑시다!

 

프로젝트 이름은 간단하게 Hello로 정했습니다. (다른 거 하셔도 돼요..)

 

다음 넘어갑시다. 

 

위젯의 클래스는 3종류가 됩니다.

간단 설명하자면 

Widget 기본 클래스.

Dialog는 대화 창 기능 특화 (수락, 거부).

QMainWondow는 메인 윈도에 특화된 메뉴 줄 상태 표시줄 등 다양한 기능 포함.

 

MainWindow로 진행하겠습니다. 고고~!

 

 

설정 완료 Finish 눌러 주세요.


UI를 만들어 보자

프로젝트가 처음 켜졌을 때 모습입니다. Forms 탭에서 ui를 눌러 GUI를 만들어봅시다.

 

UI 만드는 곳입니다. 좌측에서 Label을 찾아 클릭한 채로 우측 화면으로 드래그해서 넣어보세요.

※잡고 이동 파일 이동시키듯이(드래그 앤 드롭)

TxetLabel 이 배치가 됩니다.

PushButton 도 옮겨보세요. 화면에 배치!

 

잘하셨습니다. 이제 버튼을 눌렀을 때 동작을 설정해줘야겠죠?

배치시킨 PushButton 을 우클릭해주세요 Go to slot을 눌러주시면 됩니다.

 

우리가 설정하고 싶은 기능은? 

클릭을 했을 때 HELLO를 출력하는 기능입니다. Clicked()를 선택하고 OK 해주세요.

 

자동으로 이 화면으로 넘어오게 됩니다.

Qt는 SIGNAL과 SLOT으로 이루어진 프로그램입니다. 

신호(SIGNAL)를 보내면 함수(SLOT)가 호출됩니다.

 

버튼 클릭이 신호가 되어 void MainWindow::on_pushButton_clicked()의 내용이 실행됩니다.

 

저희는 버튼이 눌려졌을 때? ui에 있는 label의 텍스트가 HELLO로 나타나게 만들 겁니다.

 

ui->label->setText("HELLO");

 

위와 같이 입력해 주세요.

 

#mainwindow. cpp 파일의 코드 내용입니다.

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButton_clicked()
{
    ui->label->setText("HELLO");
}

Run 시켜 볼까요? Ctrl+R로 간단히 실행시킬 수 있습니다.

초록 재생 버튼을 마우스 클릭하셔도 됩니다.

 

저장되지 않은 파일이 있다고 뜨네요. Save All 해줍니다.

 

컴파일이 끝나고 오른쪽에 프로그램이 실행된 모습입니다.

 


완성된 프로그램 실행하기

버튼을 눌러볼까요? 

TextLabel 이 HELLO로 바뀌는 모습!!

 

이렇게 쉽게 GUI 프로그램을 만들 수 있는 Qt 정말 대단하죠?

과제나 아이들 교육으로 정말 쉬운 프로그램 Qt 설치와 간단 실습을 해봤습니다.

 

도움이 되셨나요? 궁금한 점은 댓글로 물어봐 주세요.

최대한 빨리 답변할 수 있도록 노력하겠습니다.