Skip to main content

Welcome to Qt Academy

Learn or advance your Qt coding skills online for free

We believe that the future is built with Qt and that learning even the basics can enable people of all backgrounds to become more innovative by exploring the creation of apps, solutions, or other types of interfaces as a part of their studies, business – or even just for fun.

  Sign In  View Courses

Start Your Learning Journey

Check Out the Latest Courses

 

  • 45m
  • BASIC
QML Modules

4.9(298)

QML Modules

In this course, you will explore how to create and utilize QML modules within your Qt Quick applications. QML modules are essential for structuring and organizing your code, enabling you to build modular and reusable components for your applications. This course was updated in May 2025 to continually improve course content and address feedback from the Qt Community. Change Log: Fixed errors in the written elements of the course Improved video pacing Improved mistake in video regarding string arguments (%1) Clarified wording of question 5 General refinements

Learn more
QML Modules

QML Modules

  • 45m
  • BASIC
  • 4.9(298)
Start Course

Course description

In this course, you will explore how to create and utilize QML modules within your Qt Quick applications. QML modules are essential for structuring and organizing your code, enabling you to build modular and reusable components for your applications.

This course was updated in May 2025 to continually improve course content and address feedback from the Qt Community. 

Change Log:

  • Fixed errors in the written elements of the course
  • Improved video pacing
  • Improved mistake in video regarding string arguments (%1)
  • Clarified wording of question 5
  • General refinements

Objectives

You will learn:

  • What is the structure of a QML module?
  • How do I create and use QML modules?
  • How do I organise my projects with multiples QML modules?
  • 1h
  • BASIC
Introduction to Signals and Slots

4.9(291)

Introduction to Signals and Slots

In this course, you will learn the basics of signals and slots and how to connect signals to slots. This is key for enabling dynamic behavior and interactivity in Qt applications, allowing, for instance, user input to trigger actions or updates in the interface. This course is for people with an understanding of object-oriented programming concepts using C++.

Learn more
Introduction to Signals and Slots

Introduction to Signals and Slots

  • 1h
  • BASIC
  • 4.9(291)
Start Course

Course description

In this course, you will learn the basics of signals and slots and how to connect signals to slots. This is key for enabling dynamic behavior and interactivity in Qt applications, allowing, for instance, user input to trigger actions or updates in the interface.


This course is for people with an understanding of object-oriented programming concepts using C++. 

Objectives

In this course, you will learn:

  • What are signals and slots?
  • How to connect signals to slots in a console application?
  • How to connect signals from Qt defined objects?
  • What kind of connection types exist?
  • Signals and signal handlers in QML.
  • How to connect to QML Signals from Qt Components?
  • 30m
  • BASIC
How to Expose C++ to QML

4.9(483)

How to Expose C++ to QML

In this course, you learn how to access C++ functionality from QML: expose C++ to QML. This is done by registering a C++ class as a QML type. This course is for people with basic knowledge of QML and an understanding of object-oriented programming concepts using C++. We assume that you know classes, class methods and members, inheritance, and basic memory management using pointers. This course was updated in February 2025. based on your feedback. The changes include: Corrections to #include for using QML_ELEMENT Added code snippets to recaps of videos to provide easier engagement Added fixed links to starting code repository.

Learn more
How to Expose C++ to QML

How to Expose C++ to QML

  • 30m
  • BASIC
  • 4.9(483)
Start Course

Course description

In this course, you learn how to access C++ functionality from QML: expose C++ to QML. This is done by registering a C++ class as a QML type. 

This course is for people with basic knowledge of QML and an understanding of object-oriented programming concepts using C++. We assume that you know classes, class methods and members, inheritance, and basic memory management using pointers.

This course was updated in February 2025. based on your feedback. The changes include:

  • Corrections to #include for using QML_ELEMENT
  • Added code snippets to recaps of videos to provide easier engagement
  • Added fixed links to starting code repository.

Objectives

In this course, you will:

  • Recognise why mixing C++ and QML is beneficial.
  • Understand what registering is and how it is done.
  • Learn how to use a custom QML type as a property type.

Most Popular Courses

  • 10m
  • BASIC
How to Install Qt

4.9(2836)

How to Install Qt

In this course, we'll install Qt using the Qt Online Installer. This course is for anyone interested in using Qt who is at the beginning of their journey. It covers both commercial and open-source Qt installations. This course was updated in July 2025 to continually improve course content and address feedback from the Qt Community. Change Log: Improved installation guide with development environment-specific guidance. Improved layout and flow of information for download and installation. Rearanged links in places so reading is easier. Updated some imagery

Learn more
How to Install Qt

How to Install Qt

  • 10m
  • BASIC
  • 4.9(2836)
Start Course

Course description

In this course, we'll install Qt using the Qt Online Installer

This course is for anyone interested in using Qt who is at the beginning of their journey. It covers both commercial and open-source Qt installations.

 

This course was updated in July 2025 to continually improve course content and address feedback from the Qt Community. 

Change Log:

  • Improved installation guide with development environment-specific guidance. 
  • Improved layout and flow of information for download and installation.
  • Rearanged links in places so reading is easier.
  • Updated some imagery

Objectives

In this course, you'll learn how to install Qt to get started on your journey to learn Qt.

  • 1h 30m
  • BASIC
Introduction to QML

4.9(1249)

Introduction to QML

Are you looking to create engaging and dynamic user interfaces for your applications? Introduction to QML will start you on your journey to building beautiful, responsive interfaces. In this course, you'll discover how to declare objects, define properties, and create property bindings to create complex and dynamic UI elements. You'll also learn to work with signals and handlers to create interactive and responsive UIs. This course is for people who want to start their journey with QML, building a solid foundation to create rich, interactive user interfaces for their applications. If you have never touched QML before, this is the place to start. Take your first step. This course was updated in January 2026 to continually improve course content and address feedback from the Qt Community. Change Log: Revised some explanations to be clearer with additional links. Removed typos. Updated some mistakes in code snippets. Update the code repository to improve code formatting and simplify examples.

Learn more
Introduction to QML

Introduction to QML

  • 1h 30m
  • BASIC
  • 4.9(1249)
Start Course

Course description

Are you looking to create engaging and dynamic user interfaces for your applications? Introduction to QML will start you on your journey to building beautiful, responsive interfaces. 

In this course, you'll discover how to declare objects, define properties, and create property bindings to create complex and dynamic UI elements. You'll also learn to work with signals and handlers to create interactive and responsive UIs.

This course is for people who want to start their journey with QML, building a solid foundation to create rich, interactive user interfaces for their applications. If you have never touched QML before, this is the place to start. Take your first step.
 

This course was updated in January 2026 to continually improve course content and address feedback from the Qt Community. 

Change Log:

  • Revised some explanations to be clearer with additional links.
  • Removed typos.
  • Updated some mistakes in code snippets.
  • Update the code repository to improve code formatting and simplify examples.

Objectives

In this course, you will:

  • Understand QML's role and why it's a great choice for creating dynamic Uls
  • Grasp QML syntax using current best practices, including type safety features and binding
    patterns
  • Apply core QML concepts such as object types, property bindings, signals, and component
    architecture effectively
  • Structure QML applications following modern organizational patterns that scale with
    project complexity
  • 30m
  • BASIC
Getting Started with Qt Design Studio

4.9(1050)

Getting Started with Qt Design Studio

Our course, Getting Started with Qt Design Studio, is the second module in our FYI Frontend Learning Track, Getting Started With UI Design. In it, you will learn about: What Design Studio is and why it is a powerful tool supporting the collaboration of designers and developers How to launch the Qt Design Studio for the first time, go through its basic views, and create a new project that you can use to try out some of the basic functionalities

Learn more
Getting Started with Qt Design Studio

Getting Started with Qt Design Studio

  • 30m
  • BASIC
  • 4.9(1050)
Start Course

Course description

Our course, Getting Started with Qt Design Studio, is the second module in our FYI Frontend Learning Track, Getting Started With UI Design.

In it, you will learn about:

  • What Design Studio is and why it is a powerful tool supporting the collaboration of designers and developers 
  • How to launch the Qt Design Studio for the first time, go through its basic views, and create a new project that you can use to try out some of the basic functionalities

Objectives

In this course, you will:

  • Learn what Design Studio is and why it is a powerful tool supporting the collaboration of designers and developers
  • Launch Qt Design Studio for the first time
  • Go through its basic views
  • Create a new project that you can use to try out some of the basic functionalities
OUR PURPOSE

To empower and encourage – students and tech-minded people alike. 

55k +

Edu Licenses

79k +

Course Enrollments

50k +

Qt Academy Users

Maximize Your Coding Potential

Learning Paths

Whether you're just starting out, or a seasoned pro, we're dedicated to providing you with a comprehensive learning experience that will elevate your skills as a Qt Developer or Designer. Learn the basic concepts of QML, Explore Qt Design Studio, or discover how Qt is used in specific industries; there is a learning path for you to explore. Our content library is constantly expanding, so you'll always have something new to discover.

Individual Courses

Are you looking to improve your skills as a Qt Developer? Our courses are the perfect way to focus on specific topics and elevate your expertise; we've got you covered. Find a course on a wide range of topics to help you get to grips with a new feature in Qt Design Studio, or learn a new workflow to kick-start your project!

Third-Party Courses

Would you like to explore the Qt community's insights on using Qt? Our fantastic array of third-party courses offers a wonderful opportunity to learn directly from community experts and discover how they make the most of Qt. Gain fresh perspectives on your journey to getting started, dive into unique workflows, or simply brush up on your skills! There’s an exciting course just waiting for you.

Stay in the Learning Loop with our Newsletter!

Be the first to hear about our latest course offerings, community events, and other Qt opportunities.

Mask group

How to Get Involved

There are many ways to get involved in Qt Academy – as a student, sponsor, or contributor.

  • For Students
  • For Partners
  • For Contributors

Enrollment in our general courses can be done anytime, anywhere. Simply create an account and pick the courses you want to study. Students with a valid educational email address from a verified university can also download Qt for free and use it for private purposes. Learn more about our educational licenses here.

Want to get involved as a partner, and co-create a learning track with us? We’re more than happy to work with you on a tailored learning path and competition. Simply get in touch with us and send a general inquiry to academy@qt.io

Want to become a teacher/contributor at Qt Academy? Have a great idea for a course or module, and the knowledge and skills to back it up? We’re always looking for people to contribute, so get in touch with us at academy@qt.io

Start Learning Qt Now!

Sign Up for Qt Academy

Need an Educational License?

Apply Here