강의

멘토링

로드맵

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

64 learners

  • qtdev
이론 실습 모두
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,
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 skills in the field.

  • 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 : Covers core functions required in practice, such as event processing through Signals and Slots, various resource management and multilingual support, database integration, and network communication.

  • Acquire advanced skills : Learn the skills needed to develop advanced applications, including 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.

Extensive API (2)

Easily implement advanced applications through a wide range of APIs spanning 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 integrate 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 other environments.

Features and differences of this course

Practical training structure (1)

The course is designed to balance theory and practice, allowing learners to naturally master Qt and Python features through hands-on coding. Each section covers frequently used examples and applications, enabling students to immediately apply their knowledge to real-world projects.

Comprehensive Qt Feature Learning (2)

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

Curriculum suitable for various applications (3)

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

Modular Learning Approach (4)

Each feature is divided into separate sections, allowing you to selectively study the areas you need. You can explore key features such as Signals and Slots, Qt Designer, the resource system, and data input/output individually, enabling you to immediately apply them as needed.

Building an environment similar to real-world 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. Upon completing the course, you will gain practical experience in completing and distributing your own GUI application.

Course Structure 📖 - What you'll learn

Section 1. Starting the lecture
Before the lecture begins, this section provides an overview of the entire learning process. This section introduces the instructor and summarizes the key content covered in each section, helping you grasp the overall flow of the lecture.

Section 2. Lecture Materials
This section provides all the example source code files used in the lectures, starting in Section 3 , in a compressed file for download. This section is provided for reference purposes only, not as part of the course.

Section 3. Setting up the development environment
This section delves into how to set up a development environment for Python programming using Qt. We'll also explore 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 lay the foundation for effectively leveraging Qt in Python.

Section 5. Signals and Slots
Signals and slots are Qt's core event-handling mechanisms. A signal indicates the occurrence of a specific event, and a slot is a function responsible for processing that event. For example, you'll learn how a signal generated by a button click and its 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'll learn how to utilize this resource system.

Section 7. Qt Designer
Qt Designer is a tool for intuitively designing user interfaces for Qt applications. By arranging widgets and adjusting their properties via drag-and-drop, you maximize the efficiency of your UI design. In this section, you'll learn how to design GUIs using Qt Designer.

Section 8. GUI Programming Using Style Sheets
Qt Style Sheets are a powerful tool for fine-tuning the appearance of UI elements. Using CSS-like syntax, you can define the styles of buttons, text, and layouts. In this section, you'll learn how to utilize Qt Style Sheets.

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

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

Section 10. Layout
Layouts provide the ability to efficiently arrange widgets in Qt and dynamically adjust them based on screen size. In this section, you'll learn about Qt's various Layout features.

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

Section 13. File I/O and Stream Handling
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 colors of a specific background image with another image using the chroma key technique. This will 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 master 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 various databases. In this section, you'll learn how to use Qt's database API to work with various databases, including MySQL, MS-SQL, Oracle, and SQLite.

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

Section 21. JSON
Learn how to efficiently process JSON data using Qt's JSON module and deepen 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 actual printers.

Section 23. Network
Learn how to easily develop TCP/IP-based network applications using the Qt Network module. We'll cover practical examples using the TCP and UDP protocols.

Section 24. Creating an installation distribution for distributing the 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-world situations

The course is structured to enhance practical skills. After each section's theoretical study, you'll learn through hands-on practical examples, allowing you to enhance your practical skills.

Focus Up with Vivid Live Coding

We've captured the image of a knowledge sharer on the screen. Learn anytime, anywhere, as if you were attending an offline class, 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, offering a wide range of features and tools, making it ideal for building intuitive and sophisticated user interfaces. Python is an easy-to-learn and highly productive language, and when combined with Qt, it allows for rapid development while creating powerful applications. In short, the combination of Qt's rich functionality and Python's simplicity allows for the development of flexible and powerful programs—the perfect combination!

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 any GUI programming experience! The course covers the basics step-by-step, so even if you encounter difficulties along the way, you can follow along slowly. Just like learning to cook for the first time, we'll walk you through the process of preparing ingredients, mastering the recipe, and creating delicious dishes.

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

Answer: After completing this course, you'll be able to create a personalized note-taking app, a data visualization tool, or even an IoT device control program! Let your imagination run wild. Add various features to suit your needs and implement multilingual support, and you'll have your own amazing application. Plus, you'll be able to show off your creation to your friends!

Question 4: I'm new to Qt, is there anything difficult about it?

Answer: It might seem a bit complicated at first, but don't worry, I'll be with you! Qt's structure and terminology might be unfamiliar, but I'll help you understand it by slowly breaking it down into its individual parts. Like putting together a puzzle, I'll guide you through the steps, helping you put the pieces together to create the perfect picture. By overcoming the difficult parts together, you'll become a Qt expert!

Things to note before taking the course

Practice environment

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


  • We've set aside time during class to install the software needed to build a development environment, so all you need to bring 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 anything you don't understand, don't hesitate to ask. The process of discussing and resolving issues together is incredibly beneficial to 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

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

93 lectures ∙ (13hr 52min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

5 reviews

4.8

5 reviews

  • 제주삼다님의 프로필 이미지
    제주삼다

    Reviews 4

    Average Rating 5.0

    5

    31% enrolled

    • 김대진
      Instructor

      제주삼다님, 좋은 평가해 주셔서 너무 감사합니다. :)

  • lightstone87님의 프로필 이미지
    lightstone87

    Reviews 1

    Average Rating 5.0

    5

    57% enrolled

    프로젝트로 간단하게 Qt를 접하고, 우겨넣는 식으로 GPT를 돌려가며, 기능과 구현 원리도 모른 채로 쓰다가, 우연찮게 가뭄의 단비같은 강의를 발견하고 바로 결제했습니다. 잘 쓰면 정말 좋은 프로그램인데....쓰는 법을 알려주는 사람도, 강의도, 서적도 없어서 참 막막했습니다. 파이썬 기반의 GUI를 나만의 방식으로 만들고 싶으신 분, 또한 조금 숙련되면 기능 모듈과 디자이너 모듈을 분리하여 유지보수 하고 싶으신 분들은 Level2까지 수강하길 추천드립니다. 사실, 저는 Level2를 보고 Level1 강의를 듣고 있는데, 기초적인 수준의 내용을 알아보려고 서칭을 했지만 Qt 관련 동영상도 적고, 있는데 굉장히 오래되어 과연 동영상 내용대로 현재 버전이라 코드가 작동될지 의문이더라고요. 관련 서적도 찾아봤으나, 그나마 나온 책들도 영어 원서거나 엔트리 단계에서 접할 수준이 아니더라고요. 이 강의가 거의 유일(?)한 업데이트되는 Qt 강의가 아닐까 합니다. 전자기기와 배달음식은 어차피 사게 될 거 시간 문제라고 하는데, 저는 이 강의 시리즈를 전자기기와 배달음식 다음으로 시간 문제에 넣고 싶습니다 ㅎㅎ 성심을 다해 강의를 준비해주신 강사님께 감사드리며, 수강생 분들도 다들 열심히 공부하셔서 좋은 결과 있으시길 바랍니다!

    • 김대진
      Instructor

      안녕하세요. lightstone87님 너무나 과분하게 좋은평가해 주셔서 너무 감사합니다. ^^;

  • 이창보님의 프로필 이미지
    이창보

    Reviews 1

    Average Rating 5.0

    5

    29% enrolled

    • 김대진
      Instructor

      안녕하세요. 좋은 평가해주셔서 너무 감사합니다.

  • eunlae.kim님의 프로필 이미지
    eunlae.kim

    Reviews 1

    Average Rating 4.0

    4

    30% enrolled

    • 송인섭님의 프로필 이미지
      송인섭

      Reviews 1

      Average Rating 5.0

      Edited

      5

      92% enrolled

      $37.40

      qtdev's other courses

      Check out other courses by the instructor!

      Similar courses

      Explore other courses in the same field!