강의

멘토링

로드맵

Inflearn brand logo image
Programming

/

Desktop Application

[Beginner] Practical Programming in Qt/QML to Advance to Intermediate Level

To move from a beginner to an intermediate developer, you will learn Qt/QML programming skills and the latest technologies through hands-on projects.

(5.0) 1 reviews

19 learners

  • qtdev
이론 실습 모두
시리즈
IPC
프로젝트
Qt
QML
C++
GUI

What you will learn!

  • To move from beginner to intermediate level, we will learn Qt through examples of practical projects.

  • Learn Qt6 with examples in the areas of networking, multimedia, document handling, and IPC.

A course focused on practical projects to help you become an intermediate Qt/QML expert!

You can learn Qt intermediate course focusing on practical projects that can be mainly dealt with in fields such as network, multimedia, and IPC .

  • It is a project-oriented content designed to help you advance from beginner to intermediate level in Qt/QML.

  • This course will help you learn Qt through practical examples that are one step ahead of the previous ones.

I recommend this to anyone who wants to learn Qt and develop intermediate or higher skills.

Those who want to learn Qt focusing on projects in various fields

You can upgrade your skills by learning about various fields such as Network, Multimedia, Documents, and IPC through this course centered on real-world projects.

Anyone who wants to learn by implementing a project together with a knowledge sharer, like in an offline lecture

You can learn by watching the knowledge sharer and coding alongside them. You can also watch your project gradually come to completion through real-time coding.

After class

  • This course will help you develop the skills to become a Qt/QML developer with intermediate or higher skills.

  • You can develop your problem-solving skills through more in-depth projects.


Lecture Structure 📖

Section 1. Starting the lecture
This section provides an overview of the material covered in this course. It also provides reference sites and documentation.

Section 2. Web server & Secure Web server implementation
To provide web services using a web server, there are many types of web servers, such as Apache and IIS. And to provide users with the desired information by accessing the web server via a web browser, server-side scripts like PHP, ASP.NET, and JSP are required. This can be quite a cumbersome process. However, in Qt, all of this functionality can be easily implemented using the web server module provided by Qt.
In other words, when a specific request is received from a user, the corresponding Signal and associated Slot are executed. In this way, using Qt, you can easily implement the web service that the web server wants to provide.
In this section, you'll learn how to implement a web server and how to distinguish and serve user requests. You'll also learn how to implement HTTPS for a secure web server, in addition to HTTP.

Section 3. Implementing a Client Using RESTful API
This is called a REST or RESTful API. It's an API that adheres to the REST (Representational State Transfer) architecture and is implemented according to REST design principles. In this section, you'll learn how to implement a RESTful client using Qt, following REST API design principles.

Section 4. Implementing a Simple Chatting Server and Client
This course will teach you how to implement a Chatting Server, a multi-user chat service based on the TCP Protocol, using the Network module provided by Qt. You'll also learn how to implement a Chatting Client, which allows users connected to the Chatting Server to chat with each other.

Section 5. Implementing a WebSocket-based Server and a Client Using HTML5
The HTTP protocol closes the connection once the web server receives a request and completes providing the service to the user (web browser). To address the network resource waste and connection delays caused by repeatedly connecting and closing the connection for each request, WebSockets were developed to maintain the connection through the HTTP protocol.

In this section, you'll learn how to implement a WebSocket-based chatting server using Qt. You'll also learn how to implement a chatting client using HTML5 and JavaScript so it can run in a web browser.

Section 6. Audio Player
Qt makes it easy to implement a variety of multimedia applications. In this section, you'll learn about audio sample rates and bit rates before implementing a real-world project. You'll also learn how to calculate bytes during the decoding process of encoded (compressed) data, such as MP3.
And you will learn how to implement an application that plays audio files encoded with the MP3 codec using the Multimedia module provided by Qt.

Section 7. Building a Mini Broadcasting Station that Transmits Microphone Voice Over the Network
In this section, you'll implement two applications using Qt. The first application extracts audio data from a microphone and transmits it via the UDP network protocol. The second application outputs the received audio data via the UDP protocol to a speaker.

So, in this lesson, we'll learn how to implement a mini network radio station by implementing an application that transmits and receives voice data.

Section 8. Video Player Implementation
In this section, you will learn how to implement an application that plays video files using the Multimedia module provided by Qt.

Section 9. Implementing a Video Output Application Using a Camera
In this section, you'll learn how to handle camera devices connected to your computer using the Qt Network module. You'll also learn how to implement an application that handles camera devices connected to your computer.

Section 10. PDF Viewer
Qt provides various PDF-related classes to facilitate PDF handling. In this section, you'll learn how to implement an application that displays PDF files onscreen.

Section 11. Printer Support
Learn how to print text or images to a printer connected to your computer. Therefore, in this section, you'll learn how to implement an application that prints text to a printer.

Section 12. Inter-Application Data Communication Using Google's Protocol Buffers
Protocol Buffer, developed by Google, serializes data, converts it into binary data, and stores it there. Conversely, it converts serialized binary data back into structured data and stores it again in structure form. Protocol Buffer can be used as IPC in a variety of applications. Protocol Buffer is available in various programming languages, not just C++. Qt makes it even easier to use Google's Protocol Buffer.
In this section, you will learn how to exchange data between applications using Protocol Buffers.
And you will learn how to implement an application that exchanges data over a network and how to use Protocol Buffers for data exchange.

The unique features of this course
Check it out
📖

Theory and practice at once

The course is structured to enhance your practical skills. Each section features hands-on learning through real-world projects, allowing you to enhance your practical skills.

Beyond the online walls

We've captured the image of a knowledge sharer on the screen. Learn anytime, anywhere, as if you were taking an offline class, with vivid live coding.

Do you have any questions?

Q. Is there anything I need to prepare before attending the lecture?

The Qt version to be used in the lecture is explained in Section 1. Therefore, please refer to Section 1 and then install Qt.

Q. Can I download the examples used in class?

Yes, you can. You can download the project source code used in class for each session.

Q. Are there any reference materials or textbooks for the lectures I am studying?

I'm an administrator for the Qt Developer Community ( qt-dev.com ). You can find additional resources related to Qt and QML on this site.

Q. Can I participate in classes after installing Qt on Ubuntu or macOS platforms?

Yes, you can. You can participate in the class not only on macOS but also on Linux. Therefore, you can set up a development environment on your preferred platform—MS-Windows, Linux, or macOS—and participate in the class.

Things to note before taking the course

Practice environment

  • Operating System and Version (OS): MS Windows, Ubuntu Linux, macOS

  • Qt version: We recommend using LTS (Long Term Service) version 6.8 or 6.5.

  • IDE Tool: We recommend using the QtCreator IDE tool. See Section 1 for details.


Learning Materials

  • Source code for projects covered in class is available for download in each section.


Player Knowledge and Precautions

  • C++ Basics

  • Qt/QML


Copyright ( LICENSE ) of this lecture

All materials provided within Inflearn, including videos and examples, are protected by Korean copyright law. Any reproduction of any part or all of the content (including reprinting on a website, in print, or as an electronic file) requires permission from the copyright holder, Daejin Kim, in accordance with Article 42 of the Korean Copyright Act, regardless of whether for commercial purposes. Except for personal use as defined in Article 27 of the Korean Copyright Act, permission is required from Daejin Kim, the knowledge sharer.

Recommended for
these people

Who is this course right for?

  • Those who want to move from junior to senior Qt developer

  • Those who want to gain a lot of know-how through projects

Need to know before starting?

  • C++

  • Qt/QML

Hello
This is

1,015

Learners

85

Reviews

102

Answers

4.7

Rating

9

Courses

지식공유자 소개 ✒️


근무경력
: Embedded 분야 SW Team leader
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 )

Curriculum

All

72 lectures ∙ (10hr 44min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

1 reviews

5.0

1 reviews

  • 이준희님의 프로필 이미지
    이준희

    Reviews 2

    Average Rating 5.0

    5

    61% enrolled

    • 김대진
      Instructor

      안녕하세요. 이준희님, 좋은평가 감사합니다. ^^;

$68.20

qtdev's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!