-
[QT] 프로그래밍의 시작 hello world 출력하기Programming/QT 2018. 11. 28. 23:09
*Qt 공부를 위해 기록한 포스팅입니다. 잘못된 정보나 오타가 있을시 피드백 부탁드립니다.*
"Hello world!"
Qt로 어떻게 출력할까?
1. 프로젝트 생성- Name: hello_world로 프로젝트 생성
- 클래스명을 바꾸면 자동으로 헤더/소스파일 이름도 클래스명에 따라 바뀜
2. 소스 코드- Sources - main.cpp로 들어가 아래 코드 입력
첫번째 방법
#include <QApplication> #include <QLabel> int main(int argc, char *argv[]) { QApplication a(argc, argv); QLabel * label = new QLabel; label ->setText("hello world!"); label ->show(); return a.exec(); }
두번째 방법
#include <QApplication> #include <QLabel> int main(int argc, char *argv[]) { QApplication a(argc, argv); QLabel * label = new QLabel("hello world!"); label ->show(); return a.exec(); }
3. Line-by-Line 설명
#include <QApplication> #include <QLabel>
- <QApplication>, <QLabel> 클래스를 사용하기 위해 헤더파일을 선언
int main(int argc, char *argv[])
- Qt에서의 main()함수 역할은 QT라이브러리로 제어권을 넘기기 전, 초기화 작업을 수행하는 것
argc: 프로그램을 실행했을때 전달된 명령행 인자의 개수
argv: 프로그램으로 실제로 전달된 명령행 인자의 배열
QApplication a(argc, argv);
- QApplication의 인스턴스 a 생성
QApplication a = QApplication (argc, argv);
QLabel * label = new QLabel;
- QLabel 클래스 위젯 선언 (QLabel 클래스 타입의 객체 할당)
QLabel * label = new QLabel("hello world!");
- new 연산자로 QLabel의 객체를 할당받을때 ("hello world!")를 인자로 받아 생성
+ 1번 방법의 경우 setText 메소드를 사용
label ->show();
- label의 show()멤버 함수를 호출해 화면에 띄어줌
return a.exec();
- main()이 QT에게 제어권을 전달
- 어플리케이션의 이벤트 루프로 들어감 즉, 사용자가 '이벤트'를 발생시킬때까지 무한 루프상태로 대기
Comment