Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
Programming

/

Programming Language

[Cấp độ 1] Lập trình Python sử dụng Qt: Giới thiệu

Qt là một framework mạnh mẽ không chỉ cung cấp GUI mà còn cung cấp nhiều chức năng khác nhau như mạng, cơ sở dữ liệu, đa phương tiện và IPC, cho phép bạn phát triển nhanh chóng và dễ dàng các ứng dụng trong nhiều lĩnh vực khác nhau bằng Python. Trong bài giảng này, chúng ta sẽ tìm hiểu cách sử dụng Qt hiệu quả trong Python thông qua nhiều ví dụ khác nhau, bắt đầu từ những điều cơ bản về Qt.

(4.8) 5 đánh giá

60 học viên

  • qtdev
이론 실습 모두
Python
Qt
QML
GUI
pyside6

Dịch cái này sang tiếng Việt

  • Bạn có thể tìm hiểu sâu về cách phát triển ứng dụng trong nhiều lĩnh vực khác nhau bằng Python bằng cách tận dụng API mở rộng của Qt.

  • Thông qua Qt, bạn có thể tìm hiểu các kỹ thuật để phát triển ứng dụng nhanh chóng và hiệu quả trong nhiều lĩnh vực khác nhau bằng Python.

  • Bạn có thể tìm hiểu cách triển khai GUI bằng Python bằng Qt.

Để giúp bạn học Qt bằng Python dễ dàng hơn,
Chúng tôi cung cấp các bài giảng chuyên ngành.

Khóa học này được xây dựng một cách có hệ thống để giúp bạn phát triển nhiều ứng dụng GUI khác nhau bằng Qt và Python, đồng thời giúp bạn học được nhiều kỹ năng thiết yếu trong lĩnh vực này.

  • Xây dựng GUI cơ bản : Bắt đầu bằng cách thiết lập môi trường phát triển Qt cơ bản, hãy tìm hiểu cách tự triển khai ứng dụng GUI đơn giản.

  • Sử dụng các chức năng cốt lõi : Bao gồm các chức năng cốt lõi cần thiết trong thực tế, chẳng hạn như xử lý sự kiện thông qua Tín hiệu và Khe cắm, quản lý nhiều tài nguyên và hỗ trợ đa ngôn ngữ, tích hợp cơ sở dữ liệu và giao tiếp mạng.

  • Rèn luyện các kỹ năng nâng cao : Học các kỹ năng cần thiết để phát triển các ứng dụng nâng cao, bao gồm đồ họa 2D sử dụng QPainter, xử lý hình ảnh chroma key và tạo tiện ích tùy chỉnh.

Tôi giới thiệu điều này cho những người này

Phát triển GUI bằng Qt (1)

Qt (PySide6) cho phép bạn dễ dàng triển khai GUI phức tạp trong Python.

API mở rộng (2)

Dễ dàng triển khai các ứng dụng nâng cao thông qua nhiều API trải dài trên nhiều lĩnh vực, bao gồm mạng, đa phương tiện, IPC và cơ sở dữ liệu.

Hỗ trợ nhiều công cụ khác nhau (3)

Giao diện người dùng đồ họa mạnh mẽ, hỗ trợ đa ngôn ngữ và các công cụ quản lý tài nguyên của Qt giúp bạn dễ dàng xây dựng các ứng dụng chất lượng cao.

Sau giờ học

  • Ứng dụng máy tính để bàn : Phát triển các ứng dụng GUI có thể được sử dụng trong các công cụ trực quan hóa dữ liệu, phần mềm kinh doanh, v.v.

  • Phần mềm công nghiệp : Các ứng dụng bao gồm hệ thống quản lý IoT, công cụ quản lý sản xuất và ứng dụng truyền thông, có khả năng tích hợp với mạng và cơ sở dữ liệu.

  • Ứng dụng đa nền tảng : Hỗ trợ đa nền tảng của Qt cho phép bạn tạo các bản phân phối cài đặt chạy trên Windows, macOS, Linux và các môi trường khác.

Các tính năng và sự khác biệt của khóa học này

Cấu trúc đào tạo thực hành (1)

Khóa học được thiết kế cân bằng giữa lý thuyết và thực hành, cho phép người học nắm vững các tính năng của Qt và Python một cách tự nhiên thông qua việc thực hành lập trình. Mỗi phần đều bao gồm các ví dụ và ứng dụng thường gặp, giúp người học có thể áp dụng kiến thức vào các dự án thực tế ngay lập tức.

Học tính năng Qt toàn diện (2)

Bạn có thể tìm hiểu sâu về nhiều tính năng của Qt, từ phát triển GUI cơ bản đến các tính năng nâng cao như Tiện ích tùy chỉnh, mạng, hỗ trợ đa ngôn ngữ, tích hợp cơ sở dữ liệu và xử lý hình ảnh chroma key, để bạn có thể có được các kỹ năng áp dụng cho nhiều lĩnh vực khác nhau.

Chương trình giảng dạy phù hợp với nhiều ứng dụng khác nhau (3)

Chúng tôi cung cấp chương trình giảng dạy bao gồm các ứng dụng máy tính để bàn, IoT, phần mềm công nghiệp và triển khai đa nền tảng, cho phép cả người mới bắt đầu và nhà phát triển nâng cao tìm hiểu Qt theo cách phù hợp với lĩnh vực quan tâm của họ.

Phương pháp học tập theo mô-đun (4)

Mỗi tính năng được chia thành các phần riêng biệt, cho phép bạn nghiên cứu kỹ lưỡng các lĩnh vực cần thiết. Bạn có thể khám phá từng tính năng chính như Tín hiệu và Khe cắm, Qt Designer, hệ thống tài nguyên và nhập/xuất dữ liệu riêng lẻ, cho phép bạn áp dụng ngay lập tức khi cần.

Xây dựng một môi trường tương tự như phát triển thực tế (5)

Bạn có thể học trong môi trường tương tự như một trang web phát triển thực tế, bắt đầu từ việc thiết lập môi trường phát triển Visual Studio Code và Qt cho đến việc tạo bản phân phối. Sau khi hoàn thành khóa học, bạn sẽ có được kinh nghiệm thực tế trong việc hoàn thiện và phân phối ứng dụng GUI của riêng mình.

Cấu trúc khóa học 📖 - Những gì bạn sẽ học

Phần 1. Bắt đầu bài giảng
Trước khi bài giảng bắt đầu, phần này cung cấp tổng quan về toàn bộ quá trình học tập. Phần này giới thiệu giảng viên và tóm tắt nội dung chính được trình bày trong mỗi phần, giúp bạn nắm bắt được mạch nội dung chung của bài giảng.

Mục 2. Tài liệu bài giảng
Phần này cung cấp tất cả các tệp mã nguồn ví dụ được sử dụng trong các bài giảng, bắt đầu từ Phần 3 , dưới dạng tệp nén để tải xuống. Phần này chỉ được cung cấp cho mục đích tham khảo, không phải là một phần của khóa học.

Phần 3. Thiết lập môi trường phát triển
Phần này sẽ đi sâu vào cách thiết lập môi trường phát triển cho lập trình Python bằng Qt. Chúng ta cũng sẽ tìm hiểu cách sử dụng Visual Studio Code làm IDE để viết mã nguồn.

Phần 4. Bắt đầu với lập trình Qt
Học lập trình GUI đơn giản bằng Python dựa trên Qt. Điều này sẽ đặt nền tảng cho việc tận dụng hiệu quả Qt trong Python.

Mục 5. Tín hiệu và khe cắm
Tín hiệu và khe cắm là các cơ chế xử lý sự kiện cốt lõi của Qt. Tín hiệu biểu thị sự xuất hiện của một sự kiện cụ thể, còn khe cắm là hàm chịu trách nhiệm xử lý sự kiện đó. Ví dụ: bạn sẽ tìm hiểu cách tín hiệu được tạo ra bởi một lần nhấp nút và hàm khe cắm liên quan hoạt động.

Mục 6. Tài nguyên Qt
Hệ thống Tài nguyên Qt cung cấp khả năng tích hợp nhiều tài nguyên khác nhau (hình ảnh, biểu tượng, âm thanh, v.v.) mà ứng dụng yêu cầu vào một tệp thực thi. Hệ thống này đơn giản hóa việc quản lý đường dẫn tệp và cải thiện bảo mật cũng như hiệu suất. Trong phần này, bạn sẽ tìm hiểu cách sử dụng hệ thống tài nguyên này.

Phần 7. Qt Designer
Qt Designer là một công cụ thiết kế giao diện người dùng trực quan cho các ứng dụng Qt. Bằng cách sắp xếp các widget và điều chỉnh thuộc tính của chúng thông qua thao tác kéo và thả, bạn có thể tối đa hóa hiệu quả thiết kế giao diện người dùng (UI). Trong phần này, bạn sẽ tìm hiểu cách thiết kế GUI bằng Qt Designer.

Phần 8. Lập trình GUI bằng cách sử dụng Style Sheets
Qt Style Sheets là một công cụ mạnh mẽ để tinh chỉnh giao diện của các thành phần UI. Sử dụng cú pháp tương tự CSS, bạn có thể định nghĩa kiểu dáng của nút, văn bản và bố cục. Trong phần này, bạn sẽ tìm hiểu cách sử dụng Qt Style Sheets.

Mục 9. Triển khai ứng dụng đa ngôn ngữ
Qt cung cấp các tính năng giúp việc phát triển ứng dụng đa ngôn ngữ trở nên dễ dàng. Trong phần này, bạn sẽ tìm hiểu cách phát triển ứng dụng hỗ trợ nhiều ngôn ngữ bằng các công cụ đa ngôn ngữ của Qt.

Mục 11. QMainWindow
QMainWindow là một lớp lý tưởng để triển khai GUI có cấu trúc trong môi trường máy tính để bàn. Bạn sẽ học cách quản lý hiệu quả các thành phần GUI được chuẩn hóa, chẳng hạn như menu, thanh công cụ, tiện ích chính và thanh trạng thái.

Mục 10. Bố cục
Bố cục cung cấp khả năng sắp xếp các widget trong Qt một cách hiệu quả và tự động điều chỉnh chúng dựa trên kích thước màn hình. Trong phần này, bạn sẽ tìm hiểu về các tính năng Bố cục khác nhau của Qt.

Mục 12. Mô hình / Chế độ xem
Kiến trúc Model/View của Qt cung cấp các khả năng mạnh mẽ để biểu diễn trực quan khối lượng dữ liệu lớn ở nhiều định dạng khác nhau. Trong phần này, bạn sẽ tìm hiểu cách sử dụng Model và View do Qt cung cấp.

Mục 13. Xử lý luồng và nhập/xuất tệp
Trong phần này, chúng ta sẽ tìm hiểu cách nhập và xuất tệp bằng QFile, cũng như cách sử dụng QDataStream và QTextStream để xử lý hiệu quả lượng dữ liệu lớn.

Phần 14. Đồ họa 2D sử dụng QPainter
Lớp QPainter được sử dụng để vẽ các thành phần đồ họa 2D trong QWidget. Tìm hiểu các kỹ thuật chuyên sâu để hiển thị hình dạng, đường nét, văn bản và hình ảnh.

Phần 15. QPainter trong thực tế - Xử lý hình ảnh Chroma Key
Tìm hiểu sâu hơn về QPainter bằng cách thay thế màu của một hình nền cụ thể bằng một hình ảnh khác bằng kỹ thuật Chroma Key. Điều này sẽ giúp bạn hiểu sâu hơn về QPainter.

Mục 16. Triển khai bộ đếm thời gian
Tìm hiểu cách gọi một hàm cụ thể theo các khoảng thời gian đã đặt bằng cách sử dụng lớp QTimer và xem ví dụ thực tế về lập trình dựa trên sự kiện.

Mục 17. Lập trình luồng
Tìm hiểu cách thực hiện lập trình luồng một cách dễ dàng bằng cách sử dụng các lớp liên quan đến luồng của Qt và nắm vững cách triển khai các luồng đáp ứng được tính năng tái nhập trong môi trường đa luồng.

Mục 18. Tiện ích tùy chỉnh
Tìm hiểu cách tạo Tiện ích tùy chỉnh để triển khai các thành phần UI không thể thể hiện bằng các tiện ích hiện có và cũng nắm được các kỹ thuật để triển khai các cửa sổ không chuẩn.

Mục 19. Cơ sở dữ liệu
Qt cung cấp một API thống nhất để truy cập nhiều cơ sở dữ liệu khác nhau. Trong phần này, bạn sẽ tìm hiểu cách sử dụng API cơ sở dữ liệu của Qt để làm việc với nhiều cơ sở dữ liệu khác nhau, bao gồm MySQL, MS-SQL, Oracle và SQLite.

Mục 20. XML
Tìm hiểu cách xử lý dữ liệu XML dễ dàng bằng mô-đun XML của Qt. Nắm vững các kỹ thuật xử lý dữ liệu XML bằng SAX và DOM.

Mục 21. JSON
Tìm hiểu cách xử lý dữ liệu JSON hiệu quả bằng mô-đun JSON của Qt và hiểu sâu hơn về định dạng JSON.

Mục 22. Hỗ trợ máy in
Tìm hiểu cách in văn bản hoặc hình ảnh trên máy in và có được kỹ năng triển khai các ứng dụng đầu ra thông qua tích hợp với máy in thực tế.

Mục 23. Mạng lưới
Tìm hiểu cách dễ dàng phát triển các ứng dụng mạng dựa trên TCP/IP bằng mô-đun Qt Network. Chúng tôi sẽ trình bày các ví dụ thực tế sử dụng giao thức TCP và UDP.

Mục 24. Tạo bản phân phối cài đặt để phân phối SW đã phát triển.
Trong phần này, chúng ta sẽ tìm hiểu sâu hơn về cách chuyển đổi mã nguồn Python thành tệp thực thi và cách tạo trình cài đặt cho nhiều nền tảng khác nhau bằng Qt Install Framework.

Lợi ích chính của khóa học này

Một bài giảng xem xét các tình huống thực tế

Khóa học được thiết kế nhằm nâng cao kỹ năng thực hành. Sau mỗi phần lý thuyết, bạn sẽ được học thông qua các ví dụ thực hành, giúp bạn nâng cao kỹ năng thực hành.

Tập trung với Vivid Live Coding

Chúng tôi đã ghi lại hình ảnh người chia sẻ kiến thức trên màn hình. Học mọi lúc, mọi nơi, như thể bạn đang tham gia lớp học ngoại tuyến, với mã hóa trực tiếp sống động.

Bạn có thắc mắc nào không?

Câu hỏi 1: Tại sao tôi nên sử dụng Qt và Python cùng nhau?

Trả lời: Qt là một bộ công cụ GUI mạnh mẽ, cung cấp nhiều tính năng và công cụ, lý tưởng cho việc xây dựng giao diện người dùng trực quan và tinh vi. Python là một ngôn ngữ dễ học và có năng suất cao, và khi kết hợp với Qt, nó cho phép phát triển nhanh chóng đồng thời tạo ra các ứng dụng mạnh mẽ. Tóm lại, sự kết hợp giữa chức năng phong phú của Qt và tính đơn giản của Python cho phép phát triển các chương trình linh hoạt và mạnh mẽ—một sự kết hợp hoàn hảo!

Câu hỏi 2: Khóa học này yêu cầu kiến thức nền tảng nào?

Trả lời: Kiến thức lập trình Python cơ bản là đủ. Đừng lo lắng nếu bạn chưa có kinh nghiệm lập trình GUI! Khóa học sẽ hướng dẫn bạn từng bước cơ bản, vì vậy ngay cả khi gặp khó khăn, bạn vẫn có thể học từ từ. Giống như lần đầu tiên học nấu ăn, chúng tôi sẽ hướng dẫn bạn quy trình chuẩn bị nguyên liệu, nắm vững công thức và tạo ra những món ăn ngon.

Câu hỏi 3: Tôi có thể tạo những loại dự án nào sau giờ học?

Trả lời: Sau khi hoàn thành khóa học này, bạn sẽ có thể tạo ra một ứng dụng ghi chú cá nhân hóa, một công cụ trực quan hóa dữ liệu, hoặc thậm chí là một chương trình điều khiển thiết bị IoT! Hãy để trí tưởng tượng của bạn bay xa. Thêm nhiều tính năng khác nhau phù hợp với nhu cầu và hỗ trợ đa ngôn ngữ, bạn sẽ có một ứng dụng tuyệt vời của riêng mình. Hơn nữa, bạn sẽ có thể khoe thành quả của mình với bạn bè!

Câu hỏi 4: Tôi mới sử dụng Qt, có điều gì khó khăn không?

Trả lời: Ban đầu có thể hơi phức tạp, nhưng đừng lo, tôi sẽ đồng hành cùng bạn! Cấu trúc và thuật ngữ của Qt có thể còn xa lạ, nhưng tôi sẽ giúp bạn hiểu rõ hơn bằng cách từ từ chia nhỏ nó thành từng phần. Giống như việc ghép một bức tranh, tôi sẽ hướng dẫn bạn từng bước, giúp bạn ghép các mảnh ghép lại với nhau để tạo nên một bức tranh hoàn hảo. Bằng cách cùng nhau vượt qua những phần khó khăn, bạn sẽ trở thành chuyên gia Qt!

Những điều cần lưu ý trước khi tham gia khóa học

Môi trường thực hành

  • Hệ điều hành và Phiên bản (OS): Khóa học này được thực hiện trên hệ điều hành Windows, nhưng cũng có thể được sử dụng trên nhiều hệ điều hành khác, bao gồm macOS, Linux và Ubuntu. Tuy nhiên, chúng tôi khuyến nghị sử dụng Windows.


  • Chúng tôi đã dành thời gian trong lớp học để cài đặt phần mềm cần thiết để xây dựng môi trường phát triển, vì vậy tất cả những gì bạn cần mang theo là máy tính và hệ điều hành.

Tài liệu học tập

  • Sau khi hoàn thành khóa học, bạn có thể tải xuống toàn bộ mã nguồn ví dụ cho khóa học này trong Phần 2 để làm tài liệu tham khảo.

Đặt một câu hỏi

  • Nếu bạn có bất kỳ thắc mắc hay lo lắng nào trong lớp học hoặc bất kỳ điều gì bạn không hiểu, đừng ngần ngại hỏi. Quá trình thảo luận và giải quyết vấn đề cùng nhau sẽ vô cùng có lợi cho việc học của bạn.

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

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

  • Bất kỳ ai muốn triển khai GUI bằng Python bằng Qt

  • Bất kỳ ai muốn triển khai API nhanh chóng và dễ dàng trong nhiều lĩnh vực khác nhau bằng Python

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

  • Kiến thức lập trình Python cơ bản: Cần có sự hiểu biết về cú pháp cơ bản của Python, cấu trúc dữ liệu (danh sách, từ điển, v.v.) cũng như các định nghĩa và lệnh gọi hàm. Nếu bạn có kiến ​​thức cơ bản này, bạn có thể dễ dàng tiếp cận chương trình bằng Qt.

Xin chào
Đây là

991

Học viên

85

Đánh giá

100

Trả lời

4.7

Xếp hạng

9

Các khóa học

지식공유자 소개 ✒️


근무경력
: 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 )

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

Tất cả

93 bài giảng ∙ (13giờ 52phú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ả

5 đánh giá

4.8

5 đánh giá

  • sgain6485님의 프로필 이미지
    sgain6485

    Đánh giá 4

    Đánh giá trung bình 5.0

    5

    31% đã tham gia

    • qtdev
      Giảng viên

      Jeju Samda-nim, thank you so much for the good review. :)

  • skfmjan0271님의 프로필 이미지
    skfmjan0271

    Đánh giá 1

    Đánh giá trung bình 5.0

    5

    57% đã tham gia

    I got to know Qt through a project, I ran GPT by force, and used it without knowing the functions and implementation principles, and then I accidentally found a lecture like a rain in the desert and paid for it right away. It's a really good program if you use it well.... There was no one to teach me how to use it, no lectures, and no books, so it was really frustrating. If you want to create a GUI based on Python in your own way, and if you want to separate the function module and designer module for maintenance after you become a little more skilled, I recommend taking Level 2. Actually, I'm taking Level 1 after watching Level 2, I searched to find out the basic content, but there are few Qt-related videos, and the ones that are available are very old, so I wonder if the code will work as the video says. I also looked for related books, but the books that came out were either in English or not at an entry level. I think this lecture is the only(?) updated Qt lecture. They say that electronic devices and delivery food are something you're going to buy anyway, so it's just a matter of time, but I want to put this lecture series next to electronic devices and delivery food as a matter of time 😊😊 I would like to thank the instructor for preparing the lecture with all his heart, and I hope all the students will study hard and get good results!

    • qtdev
      Giảng viên

      Hello. Thank you so much for the very generous review, lightstone87. ^^;

  • changbolee5121님의 프로필 이미지
    changbolee5121

    Đánh giá 1

    Đánh giá trung bình 5.0

    5

    29% đã tham gia

    • qtdev
      Giảng viên

      Hello. Thank you so much for your good review.

  • eunlaekim2073님의 프로필 이미지
    eunlaekim2073

    Đánh giá 1

    Đánh giá trung bình 4.0

    4

    30% đã tham gia

    • insub2001님의 프로필 이미지
      insub2001

      Đánh giá 1

      Đánh giá trung bình 5.0

      Đã chỉnh sửa

      5

      92% đã tham gia

      1.014.862 ₫

      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!