채널톡 아이콘

[입문] Qt 6 프로그래밍 2편

이번 강의는 Qt 프로그래밍 1편에 이어서 2편 강의 입니다. Qt를 처음 접하시는 분들은 1편을 먼저 학습하시고 2편을 학습하는 것을 권장합니다.

Thumbnail

입문자를 위해 준비한
[데스크톱 앱 개발, 임베디드 · IoT] 강의입니다.

이런 걸 배울 수 있어요

  • 데스크탑, 모바일, 임베디드등 다양한 플랫폼에서 동작하는 SW를 Qt를 이용해 개발하는 방법을 배웁니다.

  • MS Windows, Linux, MacOS 에서 Qt를 이용해 SW를 개발하는 방법을 배웁니다.

  • 모바일인 Android 플랫폼에서 App을 Qt를 이용해 개발하는 방법에 대해서 배웁니다.

수강 전 확인해주세요!

Qt Programming
One framework, one codebase, any platform.

Qt가 무엇인가요?

Qt는 어플리케이션 프레임워크로, Qt를 이용해 개발한 SW는 MS Windows, MacOS, Android, iOS, Embedded Linux, QNX 등에서 모두 호환(지원)됩니다그러므로 운영체제 별 호환되는 어플리케이션을 따로 개발하지 않아도 됩니다그리고 Qt 는 단순히 GUI를 위한 개발 프레임워크가 아닙니다. Qt는 다양한 산업 분야에서 필요로 하는 방대한 API를 제공합니다.

한번 Qt로 개발된 SW는 각 운영체제에 이식할 수 있습니다예를 들어 Android 로 App을 개발하기 위해서 JAVA 와 Android SDK, NDK 를 사용해야 하지만 Qt 가 사용하는 C++을 이용해 개발하면 Android 에서 동작하는 App 을 개발할 수 있습니다.

 

Qt로 한번 개발한 어플리케이션은 Desktop 운영체제모바일 운영체제 Embedded 운영체제에서 모두 이식할 수 있습니다따라서 개발 시 소요되는 인건비시간을 최소화 할 수 있는 개발 프레임워크 이며 C++을 사용합니다심지어 개발 프레임워크에는 다국어 지원이 가능한 툴과 설치 배포판(설치 파일)을 만들 수 있는 개발 툴도 포함되어 있습니다.

Qt로 무엇을 할 수 있나요?

다양한 산업분야에서도 Qt를 이용해 SW를 개발할 수 있습니다유수의 수만은 자동차 OEM에서 Qt를 사용하고 있습니다그리고 TV, 가전건설 등 수 많은 분야에서 Qt를 이용해 SW를 개발하고 있습니다

실시간 OS인 FreeRTOS 운영체제와 같은 MCU 수준에서도 동작하는 운영체제에서도 Qt로 개발한 SW포팅이 가능합니다.

 

Qt, 어떻게 사용하나요?

Qt는 개발 IDE 툴로 Qt Creator IDE 툴을 제공합니다하지만 Visual Studio IDE툴에 익숙한 개발자들을 위해서 Qt Visual Studio Add-in 을 설치해 Visual Studio IDE툴에서 Qt 를 이용해 SW를 개발할 수 있습니다

 

이런걸 배워요

Qt를 이용해 개발하면 다양한 운영체제와 호환이 되므로 시간과 비용을 최대한 줄일 수 있으며 이 교육 과정을 통해 여러분은 Qt를 이용해 SW를 개발할 수 있는 방법에 대해서 배울 수 있습니다.

따라서 이 과정을 수강하면 다양한 산업 분야의 SW를 개발할 수 있는 역량을 향상 시킬 수 있으며 Qt 중급자 이상의 역량을 보유 할 수 있습니다

  • Qt에서 제공하는 방대한 API 학습
  • 멀티 플랫폼에서 동일하게 동작하는 응용 소프트웨어를 개발하는 방법
  • Qt에서 제공하는 툴의 사용 방법 학습

 

이런 분에게 추천해요

  • 다양한 플랫폼과 호환되는 SW를 개발해야 하는 분
  • 다양한 산업 분야에서 필요로 하는 SW를 Qt를 이용해 개발하고자 하는 분

강의구성 📖

섹션 1. QPainter Class를 이용한 2D Graphics 
QPainter 클래스는 QWidget상에서 2D그래픽 요소를 드로잉 할 수 있습니다. 예를 들어 Widget 상에서 도형, 선, 텍스트, 이미지를 표시할 수 있습니다. 이번 섹션에서는 QPainter를 이용해 2D 그래픽 요소를 QWidget 상에 표시하는 방법에 대해서 배웁니다.

섹션 2. QPainter 실전 편, 크로마키 영상 처리 구현 
크로마키(Chromakey)란 배경의 색을 특정 색상으로 설정함으로써 배경을 바꾸는 것을 말합니다. QPainter로 읽어 들인 사진에서 배경의 녹색을 다른 사진으로 바꾸는 것을 구현해 봄으로써 QPainter에 대해서 좀더 자세히 배웁니다.

섹션 3. 타이머 구현 
지정한 시간을 반복할 때 마다 특정 함수를 호출할 수 있도록 Qt에서는 QTimer클래스를 제공합니다. 이번 섹션에서는 QTimer를 사용하는 방법에 대해서 배웁니다.

섹션 4. Thread Programming 
Qt에서는 Thread를 좀더 쉽게 구현하기 위해서 유용한 Thread 관련 클래스들을 제공합니다. 또한 Re-entrancy를 만족하는 Thread를 구현하는 방법도 제공합니다. 따라서 이번 섹션에서는 Thread를 구현하는 방법을 배웁니다. 그리고 Multi Thread 상에서 Re-entrancy를 만족하는 Thread를 구현하는 방법에 대해서 배웁니다.

섹션 5. Custom Widget 
Qt에서 제공하는 Widget을 이용해 GUI를 구성할 수 없는 경우 직접 Widget을 만들어야 합니다. 이러한 경우, 어떻게 Custom Widget을 만들어야 하는지 배웁니다. 그리고 사각형 모양의 윈도우가 아니라 다른 모양의 윈도우를 구현해야 하는 경우에 어떻게 구현해야 하는지 배웁니다.


섹션 6. 데이터베이스 프로그래밍 
Qt는 데이터베이스에 접근할 수 있는 API를 제공합니다. 예를 들어 Qt에서 제공하는 데이터베이스 API를 이용하면 어떤 데이터베이스를 사용하는지 상관없이 공통의 Qt 데이터베이스 API를 사용할 수 있습니다. 
예를 들어 MySQL, MS-SQL, Oracle, SQLite 등과 같이 각각의 데이터베이스에서 제공하는 클라이언트 API를 사용하지 않고 Qt에서 제공하는 데이터베이스 API를 이용하면 MySQL, MS-SQL, Oracle, SQLite 등의 데이터베이스를 핸들링 하는데 공통으로 사용할 수 있습니다. 따라서 이번 섹션에서는 Qt에서 제공하는 데이터베이스 API를 사용하는 방법에 대해서 배웁니다.

섹션 7. XML 
Qt는 XML을 쉽게 핸들링 할 수 있는 모듈을 제공합니다. Qt에서 제공하는 XML모듈을 이용하면 XML의 SAX 와 DOM 방식의 XML 데이터를 쉽게 핸들링 할 수 있습니다. 이번 섹션을 통해서 XML을 핸들링 하는 방법에 대해서 배웁니다.

섹션 8. JSON 
Qt는 JSON(JavaScript Object Notation)을 쉽게 핸들링 할 수 있는 JSON모듈을 제공합니다. 이번 섹션에서는 Qt에서 제공하는 JSON 모듈을 이용해 JSON 포맷을 쉽게 핸들링 할 수 있는 방법에 대해서 배웁니다.

섹션 9. 다국어를 지원하는 응용 어플리케이션 개발 
Qt는 다국어를 지원하는 어플리케이션을 쉽게 개발할 수 있는 방법을 제공합니다. 이번 섹션에서는 Qt에서 제공하는 다국어 지원 툴을 이용해 다국어를 지원하는 어플리케이션을 만드는 방법에 대해서 배웁니다.

섹션 10. 라이브러리 
Qt를 이용해 구현한 어플리케이션 상에 외부 라이브러리를 사용해야 하는 방법에 대해서 배웁니다. 또한 Qt 로 라이브러리를 만드는 방법에 대해서 배웁니다.

섹션 11. D-Pointer 
버전업에 따르는 효과적은 소스코드 관리를 위해서 C와 C++에서는 Opaque Pointer 또는 Opaque Type을 사용합니다. Qt에서는 Opaque Pointer를 좀더 효과적으로 사용할 수 있도록 개선한 것이 D-Pointer입니다. 이번 섹션에서는 D-Pointer를 사용하는 방법에 대해서 배웁니다. 

섹션 12. Qt를 이용한 Android 모바일 App개발 
Qt는 다양한 플랫폼을 지원합니다. 이번 섹션에서는 C++과 Qt를 이용해 Android 플랫폼에서 동작하는 App을 구현하는 방법에 대해서 배웁니다.

섹션 13. Network Programming 
TCP/IP 네트워크 기반의 어플리케이션을 구현을 좀더 쉽게 구현하기 위해서 Qt 에서는 Qt Network 모듈을 제공합니다. 이번 섹션에서는 Qt Network 모듈을 이용해 TCP 와 UDP 프로토콜 기반의 어플리케이션을 구현하는 방법에 대해서 배웁니다.

섹션 14. 개발한 SW를 배포하기 위한 설치 배포판 제작
Qt에서는 Qt Install Framework 라는 툴을 제공합니다. 이 툴은 MS Windows, Linux 그리고 macOS 플랫폼에서 설치파일을 쉽게 제작할 수 있습니다. 이번 섹션에서는 Qt Install Framework를 이용해 설치파일을 만드는 방법에 대해서 배웁니다.

 

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 여러 플랫폼에서 호환된 어플리케이션을 개발해야 하는 분에게 추천합니다.

  • 자동차, 의료, 멀티미디어, 네트워크등 다양한 산업분야에서 SW를 개발하 수 있습니다.

선수 지식,
필요할까요?

  • C++, Qt 6 프로그래밍 1편

안녕하세요
김대진입니다.

930

수강생

72

수강평

96

답변

4.7

강의 평점

9

강의

지식공유자 소개 ✒️


근무경력
: Embedded 분야 Senior software developer
LG전자, VS사업부 IVI선행플랫폼/모듈개발
SW마에스트로, SW 멘토

강의경력
삼성전자, Qt & QML 강의
LG전자, Qt & QML 분야 사내 강사
한컴아카데미 Qt 강의 출강
다수의 IT기업 Qt 강의 출강


저서
Qt 프로그래밍
Qt Quick 프로그래밍
Qt5 프로그래밍 가이드
MeeGo 프로그래밍 완벽 가이드
Qt 실전 프로그래밍

SW커뮤니티 운영
Qt 개발자 커뮤니티 운영자 ( www.qt-dev.com )

더보기

커리큘럼

전체

55개 ∙ (11시간 32분)

해당 강의에서 제공:

수업자료
강의 게시일: 
마지막 업데이트일: 

수강평

전체

14개

4.9

14개의 수강평

  • 공부중님의 프로필 이미지
    공부중

    수강평 2

    평균 평점 5.0

    5

    31% 수강 후 작성

    강의 감사합니다. 다만 수강 기간이 3개월이라... 나중에 업무 하다 개념 이해 안될 때 관련 부분 다시 돌려 볼 수 없다는게 좀 아쉽네요 ㅠ.ㅜ

    • 김대진
      지식공유자

      안녕하세요. 박지훈님, 좋은평가해 주셔서 감사합니다. :)

  • Junghwan Jeong님의 프로필 이미지
    Junghwan Jeong

    수강평 52

    평균 평점 5.0

    5

    100% 수강 후 작성

    제가 독학한 부분들을 정리하고 보충 할 수 있어서 많은 도움이 되어서 감사합니다. Painter에서 Transform 누적 문제를 해결 하기 위해서 save, restore 기능도 기회가 되시면 설명해 주시면 좋겠습니다. Json는 JsonObject를 만들어서 setObject한 다음에 Document에서 toJson으로 출력 하면 내용이 수정되던데 Save으로 대체 할 수 있을 것 같기도 합니다. 강의 수강 기간이 3달이라서 나중에 강의를 볼 수 없다면 내용 참고 할 수 있도록 강의 노트를 주셨으면 좋겠습니다.

    • 김대진
      지식공유자

      물론이죠. ^^ 말씀해주신 대로 Painter Transform 누적 되는 문제 해결과 save, restore 기능도 추가되면 강의 노트형식으로 참조하실 수 있도록 보내드릴께요. JSON 과 관련해서도 다시한번 검토해보고 수정된 내용있으면 전달 드릴께요. 그리고 제가 위와 관련해 추가 되거나 수정되는 Qt 관련 PDF는 아래 Github 에서 배포하고 있으니 아래 URL을 참조하시면 도움이 되실것 같습니다. https://github.com/eddykim777/qtbook 모쪼록 강의 수강해 주셔서 너무 감사합니다. 그리고 처음으로 강의를 수강해주셔 너무 감사합니다. 꾸벅~ (_._)

  • 그릿님의 프로필 이미지
    그릿

    수강평 4

    평균 평점 3.8

    5

    100% 수강 후 작성

    Qt 1편에 이어 2편 수강했어요. 배포판 만들기가 가장 흥미로웠습니다 ^^

    • 김대진
      지식공유자

      khrim 님, 좋은 평가해 주셔서 너무 감사합니다. ^^;

  • QT_part.2님의 프로필 이미지
    QT_part.2

    수강평 1

    평균 평점 4.0

    4

    100% 수강 후 작성

    • 깜짝 행운의 즐거움님의 프로필 이미지
      깜짝 행운의 즐거움

      수강평 2

      평균 평점 4.5

      5

      60% 수강 후 작성

      필요한 중요 요소들로 커리큘럼이 잘 짜여 있네요 많은 도움이 되고 있습니다.

      • 김대진
        지식공유자

        깜짝 행운의 즐거움님, 좋은 평가해 주셔서 너무 감사합니다. ^^;

    김대진님의 다른 강의

    지식공유자님의 다른 강의를 만나보세요!

    비슷한 강의

    같은 분야의 다른 강의를 만나보세요!

    ₩110,000