Inflearn brand logo image
Inflearn brand logo image
Programming

/

Programming Language

[Level 1] Python Programming with Qt: Introduction

Qt is a powerful framework that provides not only GUI but also various functions such as network, database, multimedia, IPC, etc., so you can easily and quickly develop applications in various fields with Python. In this lecture, we will learn how to effectively utilize Qt in Python through various examples starting from the basics of Qt.

(4.8) 5 reviews

55 students

Python
Qt
QML
GUI
pyside6

What you will learn!

  • You can learn in depth how to develop applications in a variety of fields with Python by leveraging Qt's extensive API.

  • Learn techniques for quickly and efficiently developing applications in a variety of fields with Python using Qt.

  • You can learn how to implement a GUI in Python using Qt.

To make learning Qt in Python easier for you, here's a tutorial for you.
We offer specialized lectures.

This course is systematically structured to enable you to develop various GUI applications using Qt and Python, and you can learn various essential technologies in practice.

  • Building a Basic GUI : Starting with setting up a basic Qt development environment, learn how to implement a simple GUI application yourself.

  • Utilizing core functions : We cover core functions required in practice, such as event processing through signals and slots, various resource management and multilingual support, database linkage, and network communication.

  • Acquire advanced skills : Learn the skills required to develop advanced applications, such as 2D graphics using QPainter, chroma key image processing, and custom widget creation.

I recommend this to these people

GUI development using Qt (1)

Qt (PySide6) allows you to easily implement sophisticated GUIs in Python.

Huge API (2)

You can easily implement advanced applications through a wide range of APIs covering a wide range of fields including networks, multimedia, IPC, and databases.

Support for various tools (3)

Qt's powerful GUI, multilingual support, and resource management tools make it easy to build high-quality applications.

After class

  • Desktop Applications : Develop GUI applications that can be used in data visualization tools, business software, etc.

  • Industrial Software : Applications include IoT management systems, production management tools, and communication applications, with the ability to interface with networks and databases.

  • Cross-platform applications : Qt's cross-platform support allows you to create installer distributions that run on Windows, macOS, Linux, and more.

Features and differences of this course

Practice-oriented training structure (1)

It is designed to allow learners to naturally learn the features of Qt and Python while coding themselves, with a balanced mix of theory and practice. Each section covers examples and applications frequently used in practice, so that you can apply them to real projects right after learning.

Comprehensive Qt Feature Learning (2)

You can learn in depth a wide range of Qt features, from basic GUI development to advanced features such as Custom Widgets, networks, multilingual support, database integration, and chroma key image processing, so you can acquire skills that can be applied in various fields.

Curriculum suitable for various applications (3)

We offer a curriculum that covers desktop applications, IoT, industrial software, and cross-platform deployment, so that both beginners and advanced developers can learn in a way that suits their field of interest.

Modular Learning Approach (4)

Each feature is divided into sections, so you can selectively learn the parts you need. You can explore key features such as Signal and Slot, Qt Designer, resource system, and data input/output individually and use them immediately as needed.

Building an environment similar to actual development (5)

You can learn in an environment similar to an actual development site, starting from setting up the Visual Studio Code and Qt development environment to creating a distribution, and upon completing the course, you will gain practical experience in completing and distributing your own GUI application.

Course Structure 📖 - What you will learn

Section 1. Starting the lecture
Before this lecture, this section provides an overview of the entire learning process. This section provides an introduction to the instructor and summarizes the main content to be learned in each section, so that you can understand the overall flow of the lecture.

Section 2. Lecture Materials
This section provides all the example source code files used in the lectures starting from Section 3 in a compressed file, and you can download the files. This section is provided for the purpose of providing materials, not as part of the lecture.

Section 3. Setting up the development environment
In this section, we will delve deeper into how to set up a development environment for Python programming with Qt. We will also look at how to use Visual Studio Code as an IDE for writing source code.

Section 4. Getting started with Qt programming
Learn simple GUI programming in Python based on Qt. This will help you build a solid foundation for effectively leveraging Qt in Python.

Section 5. Signal and Slot
Signals and Slots are Qt's core event handling mechanism. A signal indicates that a specific event has occurred, and a slot is a function that handles that event. For example, you will learn how a signal that occurs when a button is clicked and the associated slot function work.

Section 6. Qt Resources
The Qt Resource System provides the ability to integrate various resources (images, icons, sounds, etc.) required by an application into an executable file. This system simplifies file path management and improves security and performance. In this section, you will learn how to utilize this resource system.

Section 7. Qt Designer
Qt Designer is a tool that lets you intuitively design the user interface of Qt applications. It maximizes the efficiency of UI design by arranging widgets and adjusting their properties using drag-and-drop. In this section, you will learn how to design GUIs using Qt Designer.

Section 8. GUI Programming Using Style Sheets
Qt Style Sheet is a powerful tool for fine-tuning the appearance of UI elements. It allows you to define styles for buttons, text, and layouts using a CSS-like syntax. In this section, you will learn how to use Qt Style Sheet.

Section 9. Implementing a Multilingual Application
Qt provides features that make it easy to develop multilingual applications. In this section, you will learn how to develop applications that support multiple languages by utilizing Qt's multilingual tools.

Section 11. QMainWindow
QMainWindow is a class suitable for implementing structured GUI in desktop environments. You will learn how to effectively manage standardized GUI elements such as menus, toolbars, main widgets, and status bars.

Section 10. Layout
Layout provides functionality to efficiently arrange widgets in Qt and dynamically adjust them as the screen size changes. In this section, you will learn about various Layout features in Qt.

Section 12. Model/View
Qt's Model/View structure provides powerful capabilities for visually representing large amounts of data in a variety of formats. In this section, you will learn how to utilize the Model and View provided by Qt.

Section 13. File I/O and STREAM Processing
In this section, we will learn how to input and output files using QFile, and how to use QDataStream and QTextStream to efficiently process large amounts of data.

Section 14. 2D Graphics using QPainter
The QPainter class is used to draw 2D graphic elements in QWidget. Learn in-depth techniques for displaying shapes, lines, text, and images.

Section 15. QPainter in Practice - Chroma Key Image Processing
Learn QPainter in depth by replacing the color of a specific background image with another image using the chroma key technique. This will help you deepen your understanding of QPainter.

Section 16. Implementing a Timer
Learn how to call a specific function at set intervals using the QTimer class and see a practical example of event-based programming.

Section 17. Thread Programming
Learn how to easily perform thread programming by utilizing Qt's thread-related classes, and learn how to implement threads that satisfy re-entrancy in a multi-threaded environment.

Section 18. Custom Widget
Learn how to create Custom Widgets to implement UI elements that cannot be expressed with existing widgets, and also acquire techniques for implementing non-standard windows.

Section 19. Database
Qt provides a unified API for accessing a variety of databases. In this section, you will learn how to work with a variety of databases, including MySQL, MS-SQL, Oracle, and SQLite, using Qt's database API.

Section 20. XML
Learn how to easily process XML data using Qt's XML module. Learn XML data handling techniques using SAX and DOM.

Section 21. JSON
Learn how to efficiently process JSON data using Qt's JSON module and increase your understanding of the JSON format.

Section 22. Printer Support
Learn how to print text or images on a printer, and acquire skills in implementing output applications through integration with an actual printer.

Section 23. Network
Learn how to easily develop TCP/IP-based network applications using the Qt Network module. Covers real-world examples using TCP and UDP protocols.

Section 24. Creating an installation distribution for distribution of developed SW
In this section, we will learn in depth how to convert Python source code into an executable file and how to create installers for various platforms using the Qt Install Framework.

Key benefits of this course

A lecture that considers real-life situations

The lectures are designed to help you improve your practical skills. After learning the theory of each section, there are classes where you can learn by implementing practical examples according to the lectures, so you can improve your practical skills.

Focus Up with Vivid Live Coding

The appearance of a knowledge sharer is captured on the lecture screen. Learn anytime, anywhere as if you were taking an offline class through a class that is conducted with vivid live coding.

Do you have any questions?

Question 1: Why should I use Qt and Python together?

Answer: Qt is a powerful GUI toolkit that provides a wide range of features and tools, making it ideal for building intuitive and elegant user interfaces. Python is an easy-to-learn and highly productive language, which, when combined with Qt, allows for fast development while creating powerful applications. In other words, it’s the perfect combination for developing flexible and powerful programs by combining the rich features of Qt with the simplicity of Python!

Question 2: What background knowledge is required for this course?

Answer: Basic Python programming knowledge is sufficient. Don't worry if you don't have GUI programming experience! The lecture explains the basics step by step, so you can follow along slowly even if there are difficult parts in the middle. Just like learning to cook for the first time, we will prepare the ingredients, learn the recipe, and go through the process of creating a delicious result.

Question 3: What kind of projects can I create after class?

Answer: After completing the course, you will be able to create a personalized note app, a data visualization tool, or even a control program for IoT devices! Use your imagination. Add various functions to suit your needs, implement multilingual support, and you will have your own cool application. Plus, you will be able to create a 'my masterpiece' to show off to your friends!

Question 4: Is there anything that I will find difficult if I am new to Qt?

Answer: It may seem a bit complicated at first, but don't worry, I'll be with you! Qt's structure and terminology may be unfamiliar, but I'll help you understand it by slowly breaking it down into parts. I'll guide you through the process of putting together each piece as if you were putting together a puzzle to create a complete picture. We'll overcome the difficult parts together, and by the end, you'll be a Qt expert!

Things to note before taking the class

Practice environment

  • Operating System and Version (OS): This course is conducted on the Windows operating system, but can also be used in various environments such as macOS, Linux, and Ubuntu. However, we recommend using Windows.


  • We have set aside time during class to install the software needed to build a development environment, so all you need to prepare is a computer and operating system.

Learning Materials

  • After taking the course, you can download all the example source code for this course in Section 2 as a study reference.

Ask a question

  • If you have any questions or concerns during class or if there is anything you do not understand, please do not hesitate to ask questions. The process of discussing and solving problems together will be of great help in your learning.

Recommended for
these people!

Who is this course right for?

  • Anyone who wants to implement a GUI in Python using Qt

  • Anyone who wants to implement APIs in various fields easily and quickly in Python

Need to know before starting?

  • Basic Python programming knowledge: You need to understand Python's basic syntax and data structures (lists, dictionaries, etc.), function definitions, and calls. With this basic knowledge, you can easily approach programming using Qt.

Hello
This is

958

Students

84

Reviews

99

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

93 lectures ∙ (13hr 52min)

Course Materials:

Lecture resources
  • 7. Example source code (example source code for all sections)

Published: 
Last updated: 

Reviews

All

5 reviews

4.8

5 reviews

  • sgain6485님의 프로필 이미지
    sgain6485

    Reviews 4

    Average Rating 5.0

    5

    31% enrolled

    • qtdev
      Instructor

      제주삼다さん、良い評価をしてくださって本当にありがとうございます :)

  • skfmjan0271님의 프로필 이미지
    skfmjan0271

    Reviews 1

    Average Rating 5.0

    5

    57% enrolled

    プロジェクトで簡単に Qt を触り、 無理やり GPT を回して、機能や実装原理も知らないまま使っていたら、偶然に渇望していたような講義を見つけてすぐに支払いました。 うまく使えば本当に良いプログラムですが....使い方を教えてくれる人や講義、本がないので本当に途方に暮れていました。 Python ベースの GUI を自分のやり方で作りたい方、また、少し熟練したら機能モジュールとデザイナーモジュールを分離してメンテナンスしたい方は、Level2 まで受講することをお勧めします。 実際、私は Level2 を見て Level1 講義を受けていますが、基礎的な内容を知ろうと検索してみましたが、 Qt 関連の動画も少なく、あるものは非常に古く、動画の内容通り現在のバージョンでコードが動作するかどうか疑問でした。関連書籍も探してみましたが、出ている本も英語の原書か、エントリ段階で触れるレベルではありませんでした。 この講義は、ほぼ唯一(?)の更新される Qt 講義ではないでしょうか。 家電製品とデリバリーは、いずれ買うことになるから時間の問題だと言いますが、 私はこの講義シリーズを、家電製品とデリバリーの次に時間の問題にしたいです 😊😊 心から講義の準備をしてくださった講師の先生に感謝し、 受講生のみなさんも一生懸命勉強して良い結果が出ますように!

    • qtdev
      Instructor

      こんにちは。lightstone87 さん、とても過分な良い評価をいただき、本当にありがとうございます。^^;

  • changbolee5121님의 프로필 이미지
    changbolee5121

    Reviews 1

    Average Rating 5.0

    5

    29% enrolled

    • qtdev
      Instructor

      こんにちは。良い評価をいただきありがとうございます。

  • eunlaekim2073님의 프로필 이미지
    eunlaekim2073

    Reviews 1

    Average Rating 4.0

    4

    30% enrolled

    • insub2001님의 프로필 이미지
      insub2001

      Reviews 1

      Average Rating 5.0

      Edited

      5

      92% enrolled

      qtdev's other courses

      Check out other courses by the instructor!

      Similar courses

      Explore other courses in the same field!