강의

멘토링

커뮤니티

Programming

/

Desktop Application

[Sơ cấp] Lập trình QML Phần 1

QML là ngôn ngữ lập trình dùng để tạo giao diện người dùng (UI) do Qt cung cấp. Nó tương tự như JSON và có thể sử dụng JavaScript. Bằng cách sử dụng QML thay vì ngôn ngữ C++, bạn có thể dễ dàng phát triển các giao diện người dùng hiện đại và cao cấp mà không cần sử dụng C++.

(4.8) 17 đánh giá

158 học viên

Độ khó Cơ bản

Thời gian 4 tháng

  • qtdev
Qt
Qt
QML
QML
Qt
Qt
QML
QML

Đánh giá từ những học viên đầu tiên

Đánh giá từ những học viên đầu tiên

4.8

5.0

Junghwan Jeong

100% đã tham gia

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.

5.0

이준현

32% đã tham gia

Tôi đang học lại và cảm thấy rất tốt. Tôi đang ôn tập lại những kiến thức đã học trước đó nhưng bị quên. Đây là bài giảng về Qt hay đến mức đáng để học lại lần nữa.

5.0

White

64% đã tham gia

Kích thước chữ trên màn hình có vẻ lớn hơn rồi? Tốt đấy

Bạn sẽ nhận được điều này sau khi học.

  • Phát triển giao diện người dùng hiện đại bằng QML

  • Phát triển UI bằng QML và C++

QML dành cho phát triển UI Qt,
hướng dẫn chi tiết từ cơ bản đến thực hành.

Triển khai UI trên Qt Framework,
mạnh mẽ hơn với QML!

Ngôn ngữ lập trình QML?

Là ngôn ngữ lập trình giúp bạn dễ dàng phát triển giao diện người dùng hiện đại và cao cấp
trong framework Qt.

QML(Qt Modeling Language) là ngôn ngữ lập trình được cung cấp bởi Qt framework. QML là ngôn ngữ lập trình có thể được sử dụng để phát triển UI trong Qt framework, nhằm mục đích triển khai các giao diện người dùng hiện đại và cao cấp một cách dễ dàng.

Khi phát triển chương trình GUI bằng Qt framework, chúng ta có thể phân biệt giữa logic thiết kế của phần UI và logic chức năng của phần tính năng. Trong số đó, QML là ngôn ngữ có thể được lựa chọn thay thế cho C++ khi phát triển UI tương ứng với logic thiết kế. Đặc biệt, khi phát triển UI bằng QML, logic thiết kế và logic chức năng có thể được tách biệt hoàn toàn, giúp tăng khả năng tái sử dụng mã nguồn.

Việc phát triển logic thiết kế bằng QML giúp triển khai giao diện người dùng (UI) dễ dàng và nhanh chóng hơn nhiều so với việc sử dụng C++. Ngoài ra, bạn có thể dễ dàng áp dụng các công nghệ GUI hiện đại và cao cấp như Flickable, Gesture, Animation, 3D.


Cú pháp đơn giản, khả năng đọc ngắn gọn
Hãy trải nghiệm những ưu điểm của QML.

Hãy cùng xem ví dụ xuất "Hello World" thường thấy khi bắt đầu học một ngôn ngữ lập trình nhé? Bạn có thể dễ dàng thấy được QML là một ngôn ngữ tinh gọn đến mức nào.

import QtQuick

Window {
    width: 300
    height: 200
    visible: true
    title: qsTr("Mã nguồn ví dụ QML")

    Text {
        x: 80
        y: 70
        text: "Hello World"
        font.pixelSize: 25
    }
}

Mã nguồn ví dụ QML

Màn hình thực thi mã nguồn ví dụ QML

QML rất dễ dàng và đơn giản. Ngay cả những người không phải là nhà phát triển cũng có thể dễ dàng hiểu được. Vì vậy, các nhà thiết kế và nhà phát triển có thể trao đổi với nhau thông qua mã QML và chia sẻ ý tưởng với nhau.

Do đó, khi sử dụng QML, nhà thiết kế và nhà phát triển có thể hợp tác với nhau trên cùng một công cụ phát triển, giúp rút ngắn thời gian phát triển so với trước đây.


Nhập môn lập trình QML
Đề xuất cho những đối tượng sau 🙋‍♀️

1️⃣

Những ai muốn dễ dàng triển khai UI/UX hiện đại và cao cấp bằng cách sử dụng QML trong Qt (nhà phát triển, nhà thiết kế)

2️⃣

Những người muốn nâng cao khả năng bảo trì và tái sử dụng mã nguồn bằng cách tách biệt logic thiết kế và logic chức năng

Bạn phải nắm vững kiến thức cơ bản về ngôn ngữ C++ và framework Qt như là kiến thức tiên quyết mới có thể tham gia khóa học này., you must have a basic understanding of the C++ language and the Qt framework to take this course.

Mục tiêu khóa học 💡

  • Bạn có thể học cách phát triển UX/UI hiện đại và cao cấp bằng cách sử dụng QML.
  • Bạn có thể học được cách phân tách hoàn toàn giữa logic thiết kế và logic chức năng khi sử dụng QML.
  • Vì bạn có thể học lý thuyết theo từng phần và trực tiếp viết mã dựa trên nhiều ví dụ thực tế khác nhau, bạn có thể tiếp thu các kỹ năng phát triển QML cần thiết trong thực tế một cách tự nhiên.

Hãy khám phá những đặc điểm riêng của khóa học này
📖 📖

Lý thuyết và thực hành cùng lúc

Khóa học được thiết kế để bạn có thể nâng cao kỹ năng thực tế bên cạnh cú pháp QML. Sau khi học lý thuyết ở mỗi chương, các bài học được chuẩn bị để bạn có thể tự mình thực hiện các ví dụ thực tế theo bài giảng, từ đó nâng cao năng lực làm việc thực tiễn.

Vượt qua rào cản trực tuyến

Hình ảnh của giảng viên được đưa vào cùng màn hình bài giảng. Thông qua các tiết học cùng màn live coding sống động, hãy trải nghiệm việc học mọi lúc mọi nơi với cảm giác như đang tham gia một lớp học trực tiếp.


Cấu trúc khóa học 📖

Phần 1. What is QML
QML là ngôn ngữ thông dịch được cung cấp bởi Qt Framework. Trong phần này, chúng ta sẽ tìm hiểu về các đặc điểm và ưu điểm của QML.

Phần 2. Cú pháp và Cấu trúc của QML
Tìm hiểu về cấu trúc và cú pháp của QML. Và đây là phần học về cách sử dụng QML thông qua các ví dụ thực hành
Phần 3. Type
Type là một khái niệm tương tự như QWidget của Qt. Trong phần này, bạn sẽ tìm hiểu Type là gì và tập trung vào các Type thường xuyên được sử dụng trong số các Type mà QML cung cấp. Và đây là thời gian để thực hành triển khai một Type nút bấm bằng cách sử dụng Accessible type thông qua ví dụ thực tế.

Phần 4. Events 
Đây là phần học về cách triển khai xử lý các Event phát sinh trên giao diện người dùng như chạm, chuột, bàn phím, v.v. Ngoài ra, bạn sẽ được học về cách triển khai Signal trong QML. Trong các ví dụ thực hành, bạn sẽ tìm hiểu chi tiết cách xử lý Signal thông qua ví dụ kết nối Signal và Method (hàm).

Phần 5. Triển khai Dynamic UI bằng Loader type
Bạn sẽ học cách thay đổi động một khu vực cụ thể trong UI. Ví dụ, bạn sẽ học cách chuyển từ màn hình GUI A sang màn hình B khi đáp ứng một điều kiện nhất định. Do đó, thông qua phần này, bạn sẽ học cách triển khai màn hình một cách linh hoạt. Trong bài tập thực hành cuối cùng, chúng ta sẽ dành thời gian tìm hiểu ví dụ về cách thay đổi màn hình động bằng cách sử dụng Loader type.

Phần 6. Canvas
Chúng ta sẽ tìm hiểu về các phương pháp để hiển thị hình ảnh, đường kẻ, hình khối và văn bản trên màn hình giống như ứng dụng Paint. Chúng ta sẽ cùng thực hiện một ví dụ về việc chọn màu sắc và vẽ tranh trên bảng vẽ.

Phần 7. Graphic Effects 
Tìm hiểu về cách sử dụng các hiệu ứng như Blur, Blend, Color trên hình ảnh. 

Phần 8. Module Programming 
Bạn sẽ học cách mô-đun hóa các Type do người dùng định nghĩa, tương tự như việc mô-đun hóa các mô-đun thường dùng trên GUI như nút bấm và hộp tổ hợp. Và chúng ta sẽ tìm hiểu cách triển khai QML bằng cách mô-đun hóa thông qua các ví dụ thực hành trực tiếp. 

Phần 9. Sử dụng JavaScript trong QML 
Bạn sẽ học cách sử dụng các hàm JavaScript trong QML. Và tìm hiểu cách Import các tệp JavaScript vào QML. Trong ví dụ thực hành, bạn có thể học chi tiết về cách sử dụng JavaScript thông qua việc triển khai máy tính. 

Phần 10. Dialog
Chúng ta sẽ tìm hiểu về cách sử dụng Dialog trong QML. Và thông qua ví dụ thực hành tự triển khai một Dialog chọn Color, bạn có thể học được cách sử dụng Dialog.

Phần 11. Layout 
Trong QML, ngoài Anchors, bạn có thể sử dụng các Layout như RowLayout, ColumnLayout, GridLayout, Layout, v.v. Trong phần này, chúng ta sẽ tìm hiểu về cách sử dụng các loại Layout khác nhau.

Phần 12. Type Positioning 
Type Positioning là phần học về các phương pháp để hiển thị các Type trên màn hình. Ví dụ, bạn sẽ học cách sắp xếp các Type theo chiều ngang, chiều dọc hoặc theo dạng lưới khi bố trí chúng.

Phần 13. Qt Quick Controls 
Qt Quick Controls cung cấp các giao diện GUI cần thiết để cấu thành màn hình như Button, Dial, CheckBox, BusyIndicator, v.v. Trong phần này, bạn sẽ học cách sử dụng Qt Quick Controls.


Hỏi & Đáp 💬

Q. Ngoài lý thuyết và ngữ pháp, tôi có thể tiếp cận nhiều ví dụ thực tế khác nhau không?

Vâng, hoàn toàn có thể. Sau mỗi bài học lý thuyết của từng phần, chương trình có sẵn các nội dung thực hành lập trình trực tiếp cùng giảng viên thông qua các ví dụ, giúp bạn có thể học hỏi thêm những bí quyết khi lập trình QML thực tế trong công việc.

Q. Có tài liệu hoặc giáo trình nào có thể tham khảo cho nội dung bài giảng không?

Tôi đang hoạt động với tư cách là quản trị viên tại Cộng đồng nhà phát triển Qt (qt-dev.com). Bạn có thể tìm thấy các thông tin liên quan đến Qt và QML tại trang web này.

Q. Có điều gì cần học trước khi tham gia khóa học không?

Đây là khóa học yêu cầu kiến thức cơ bản về C++ và Qt. Với những ai chưa có kinh nghiệm về Qt, chúng tôi khuyên bạn nên học khóa "Lập trình Qt" trước khi tham gia khóa học này.

Q. Nội dung khóa học bao quát đến mức độ nào?

Bao gồm từ QML cơ bản đến các nội dung nâng cao ứng dụng trong nhiều lĩnh vực khác nhau.

💾 Lưu ý

  • Để biết thêm chi tiết, vui lòng kiểm tra bài học Phần 1 [Tài liệu tham khảo QML và Giải thích về phiên bản Qt khuyến nghị để học QML] đã được công khai trong phần xem trước.

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Những người muốn phát triển UI bằng QML

  • Những ai muốn phát triển UI bằng QML trong framework Qt

Cần biết trước khi bắt đầu?

  • Qt

Xin chào
Đây là

1,079

Học viên

109

Đánh giá

107

Trả lời

4.7

Xếp hạng

9

Các khóa học

Giới thiệu người chia sẻ kiến thức ✒️


Kinh nghiệm làm việc
Hiện tại: Trưởng nhóm phần mềm (SW Team leader) trong lĩnh vực Nhúng (Embedded)
LG Electronics, Bộ phận VS, Phát triển mô-đun/nền tảng tiên tiến IVI
SW Maestro, Cố vấn phần mềm (SW Mentor)

Kinh nghiệm giảng dạy
Samsung Electronics, Giảng dạy Qt & QML
LG Electronics, Giảng viên nội bộ lĩnh vực Qt & QML
Giảng dạy khóa học Qt tại Hancom Academy
Giảng dạy khóa học Qt tại nhiều doanh nghiệp CNTT (IT)


Sách đã xuất bản
Lập trình Qt
Lập trình Qt Quick
Hướng dẫn lập trình Qt5
Hướng dẫn lập trình MeeGo toàn tập
Lập trình Qt thực chiến

Vận hành cộng đồng SW
Quản trị viên cộng đồng nhà phát triển Qt ( www.qt-dev.com )

Chương trình giảng dạy

Tất cả

47 bài giảng ∙ (9giờ 8phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

17 đánh giá

4.8

17 đánh giá

  • junghwanjeong님의 프로필 이미지
    junghwanjeong

    Đánh giá 52

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    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
      Giảng viên

      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.

  • qkfka23236549님의 프로필 이미지
    qkfka23236549

    Đánh giá 4

    Đánh giá trung bình 5.0

    5

    32% đã tham gia

    Tôi đang học lại và cảm thấy rất tốt. Tôi đang ôn tập lại những kiến thức đã học trước đó nhưng bị quên. Đây là bài giảng về Qt hay đến mức đáng để học lại lần nữa.

    • qtdev
      Giảng viên

      Chào bạn Lee Jun-hyun, cảm ơn bạn rất nhiều vì đã đánh giá tốt cho chúng tôi. :)

  • sungilham6205님의 프로필 이미지
    sungilham6205

    Đánh giá 2

    Đánh giá trung bình 5.0

    5

    32% đã tham gia

    • qtdev
      Giảng viên

      Cảm ơn anh Hàm Seong Il rất nhiều vì đã đánh giá tốt ạ.

  • siroimono님의 프로필 이미지
    siroimono

    Đánh giá 26

    Đánh giá trung bình 5.0

    5

    64% đã tham gia

    Kích thước chữ trên màn hình có vẻ lớn hơn rồi? Tốt đấy

    • qtdev
      Giảng viên

      White님 đánh giá điểm số tốt, cảm ơn rất nhiều. Sẽ nỗ lực hơn nữa để cung cấp nội dung chất lượng. :)

  • mcube9934님의 프로필 이미지
    mcube9934

    Đánh giá 3

    Đánh giá trung bình 5.0

    5

    32% đã tham gia

    • qtdev
      Giảng viên

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

793.531 ₫

Khóa học khác của qtdev

Hãy khám phá các khóa học khác của giảng viên!

Khóa học tương tự

Khám phá các khóa học khác trong cùng lĩnh vực!