강의

멘토링

로드맵

Inflearn brand logo image
Programming

/

Desktop Application

[Beginner] QML Programming Part 1

QML is a programming language for creating UIs provided by Qt. It is similar to JSON and can use JavaScript. Using QML instead of the C++ language, you can easily develop modern, advanced UIs without using C++.

(4.9) 13 reviews

147 learners

  • qtdev
c++
ui
Qt
QML

Reviews from Early Learners

What you will learn!

  • Developing Modern UI Using QML

  • UI development using QML and C++

QML for Qt UI development,
We will explain in detail from introduction to practice.

Qt Framework UI implementation,
More powerful with QML!

Programming language QML?

Modern, advanced UI in the Qt framework
It is a programming language that is easy to develop in.

QML (Qt Modeling Language) is a programming language provided by the Qt framework. QML is a programming language that can be used for UI development within the Qt framework, making it easy to implement modern, advanced UIs.

When developing GUI programs using the Qt framework, you can distinguish between the design logic of the UI and the functional logic of the functional portion. Among these, QML is a language of choice as an alternative to C++ when developing UIs that correspond to the design logic . Specifically, developing UIs with QML allows for a complete separation of design and functional logic, thereby increasing source code reusability.

Developing design logic using QML allows you to implement UIs much more easily and quickly than developing using C++. It also allows you to easily apply modern, advanced GUI technologies like Flickable, Gesture, Animation, and 3D.


Easy grammar, concise readability
Experience the benefits of QML.

Let's look at a "Hello World" output example, a common example when first learning a programming language. It's easy to see how concise QML is.

 import QtQuick Window { width: 300 height: 200 visible: true title: qsTr("QML 예제소스코드") Text { x: 80 y: 70 text: "Hello World" font.pixelSize: 25 } }

QML example source code

QML example source code execution screen

QML is simple and straightforward. Even non-developers can easily understand it. Therefore, designers and developers can communicate and share ideas using QML code.

Therefore, QML allows designers and developers to collaborate using the same development tools , reducing development time compared to before.


Introduction to QML Programming
I recommend this to these people 🙋‍♀️

1️⃣

Anyone (developers, designers) who wants to easily implement modern, advanced UI/UX using QML in Qt

2️⃣

Those who want to increase source code maintainability and reusability by separating design logic and functional logic.

You must have a basic understanding of the C++ language and Qt framework to take this course.

Course Objectives 💡

  • Learn how to develop modern, advanced UX/UI using QML.
  • You will learn how to use QML to completely separate design logic from functional logic.
  • You can naturally learn QML development skills required in the field by studying the theory by section and writing code yourself based on various practical examples.

Unique features of this course
Check it out 📖

Theory and practice at once

In addition to QML grammar, the course is designed to enhance practical skills. After each section's theoretical study, you'll learn practical examples and practice them yourself, further enhancing 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.


Lecture Structure 📖

Section 1. What is QML
QML is an interpreted language provided by the Qt Framework. In this lesson, we'll explore the features and advantages of QML.

Section 2. QML Syntax and Structure
This section covers the structure and syntax of QML, and how to use QML through practical examples.
Section 3. Type
Type is a concept similar to QWidget in Qt. In this section, we'll learn what Type is, focusing on the most frequently used types provided by QML. As a practical example, we'll implement a button type using the Accessible type and report on it.

Section 4. Events
This section covers how to implement event handling for user interface events, such as touch, mouse, and keyboard input. You'll also learn how to implement signals in QML. In this hands-on example, you'll learn how to handle signals in detail through examples of connecting signals to methods (functions).

Section 5. Implementing Dynamic UI using Loader type
You'll learn how to dynamically change specific areas of a UI. For example, you'll learn how to transition from GUI screen A to screen B when a certain condition is met. Therefore, in this section, you'll learn how to dynamically implement screens. The final hands-on example will demonstrate how to dynamically change screens using the Loader type.

Section 6. Canvas
Learn how to display images, lines, shapes, and text on the screen, similar to a Paint program. As an example, let's cover how to draw in Paint using a color selection.

Section 7. Graphic Effects
Learn how to use Effects such as Blur, Blend, Color, etc. on your images.

Section 8. Module Programming
Learn how to modularize user-defined types, such as frequently used GUI modules like buttons and combo boxes. You'll also learn how to modularize and implement QML through hands-on examples.

Section 9. Using JavaScript in QML
Learn how to use JavaScript functions in QML and how to import JavaScript files in QML. In this hands-on example, you'll learn more about using JavaScript by implementing a calculator.

Section 10. Dialog
Learn how to use dialogs in QML. You'll also learn how to use them by implementing a hands-on example: a dialog for selecting a color.

Section 11. Layout
In addition to Anchors, QML also supports Layouts such as RowLayout, ColumnLayout, GridLayout, and Layout. In this lesson, we'll learn how to use various Layouts.

Section 12. Type Positioning
Type Positioning teaches you how to display types on screen. For example, you'll learn how to arrange types horizontally, vertically, or in a checkerboard pattern.

Section 13. Qt Quick Controls
Qt Quick Controls provide the GUI interfaces needed to compose screens, including Buttons, Dials, CheckBoxes, and BusyIndicators. In this section, you'll learn how to use Qt Quick Controls.


Q&A 💬

Q. In addition to theory and grammar, will I be able to access a variety of practical examples?

Yes, you can. After each section's theoretical lecture, you'll have a hands-on coding session with the instructor, working through examples. This allows you to learn practical programming skills using QML in the workplace.

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 ). This site is a great resource for Qt and QML-related information.

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

This course requires basic knowledge of C++ and Qt. If you have no experience with Qt, we recommend taking the previous "Qt Programming" course before taking this course.

Q. What level of content is covered in the class?

Covers everything from QML basics to advanced topics for various application areas.

💾 Note

  • For more details, please check out the previewed Section 1 [QML Reference and Recommended Qt Versions for Learning QML] lesson.

Recommended for
these people

Who is this course right for?

  • For those who want to develop UI using QML

  • For those who want to develop UI using QML in Qt framework

Need to know before starting?

  • C++

  • Qt

Hello
This is

1,013

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

47 lectures ∙ (9hr 8min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

13 reviews

4.9

13 reviews

  • junghwanjeong님의 프로필 이미지
    junghwanjeong

    Reviews 52

    Average Rating 5.0

    5

    100% enrolled

    Nó rất hữu ích trong việc tìm ra cách sử dụng QML trong tương lai. Trong tương lai, sẽ rất hữu ích nếu có được bí quyết nếu có một chương trình giảng dạy chọn một nội dung thực tế và thực hiện toàn bộ quy trình.

    • qtdev
      Instructor

      Junghwan Jeong, cảm ơn bạn rất nhiều vì sự giúp đỡ của bạn. Cảm ơn bạn đã phản hồi tốt. Trong ứng dụng QML tiếp theo, chúng tôi sẽ bổ sung triển khai toàn bộ quy trình và bao gồm cả Qt Design Studio.

  • mcube9934님의 프로필 이미지
    mcube9934

    Reviews 3

    Average Rating 5.0

    5

    32% enrolled

    • qtdev
      Instructor

      mcube, vô cùng cảm ơn đánh giá tốt. :)

  • greenspace님의 프로필 이미지
    greenspace

    Reviews 3

    Average Rating 5.0

    5

    32% enrolled

    Giảng viên đỉnh quá~~!!!

    • qtdev
      Instructor

      Anh/Chị 박시우, cảm ơn đánh giá tốt rất nhiều. :)

  • wldudvud6780님의 프로필 이미지
    wldudvud6780

    Reviews 1

    Average Rating 5.0

    5

    32% enrolled

    • qtdev
      Instructor

      yp j, cảm ơn rất nhiều vì điểm đánh giá tốt. :)

  • psjhsi122824님의 프로필 이미지
    psjhsi122824

    Reviews 3

    Average Rating 5.0

    5

    100% enrolled

    Đó là một bài giảng tốt. Tôi cũng sẵn sàng nghe phần 2.

    • qtdev
      Instructor

      Xin chào. Bài hát JunHwan thân mến, Cảm ơn bạn rất nhiều vì đánh giá tốt của bạn. ^^;

$29.70

qtdev's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!