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

 

  • 1h 35m
  • ADVANCED
QML & C++ Integration Advanced

4.7(46)

QML & C++ Integration Advanced

In this course, you'll gain a comprehensive understanding of different macros used for specific integration use-cases. You will learn about registration of non-object type. In some cases the types that need to be registered to QML are defined in files that cannot be modified to add registration macros. This can be the case if the types belong to third-party libraries. For such cases, you'll learn how to use registration of foreign types. You'll also learn to register C++ types in QML system as an interface and to use extension objects, which allows limited extension possibilities. This course is for individuals who are looking to get a better understanding of different macros used for specific integration use-cases. Completion of the course requires prior knowledge of C++ and QML integration covered in the QML Integration Basic and QML Integration Intermediate courses.

Learn more
QML & C++ Integration Advanced

QML & C++ Integration Advanced

  • 1h 35m
  • ADVANCED
  • 4.7(46)
Start Course

Course description

In this course, you'll gain a comprehensive understanding of different macros used for specific integration use-cases. You will learn about registration of non-object type. In some cases the types that need to be registered to QML are defined in files that cannot be modified to add registration macros. This can be the case if the types belong to third-party libraries. For such cases, you'll learn how to use registration of foreign types. You'll also learn to register C++ types in QML system as an interface and to use extension objects, which allows limited extension possibilities.

This course is for individuals who are looking to get a better understanding of different macros used for specific integration use-cases. Completion of the course requires prior knowledge of C++ and QML integration covered in the QML Integration Basic and QML Integration Intermediate courses.

Objectives

In this course, you will:

  • Understanding of different macros.
  • How to register a non-object type.
  • How to register a foreign type.
  • How to register C++ types in QML system as an interface.
  • How to use extension objects.
  • 1h
  • INTERMEDIATE
QML & C++ Integration Intermediate

4.8(112)

QML & C++ Integration Intermediate

In this course, you will deepen your understanding of integrating C++ with QML by exploring advanced techniques such as singletons, non-instantiable types, and enumerators. By the end of this course, you will be well-equipped to implement more complex and flexible C++/QML interactions, allowing for a seamless blend of C++ backend functionality with QML front-end designs. This course was updated in October 2024 to continually improve course content and address feedback from the Qt Community.

Learn more
QML & C++ Integration Intermediate

QML & C++ Integration Intermediate

  • 1h
  • INTERMEDIATE
  • 4.8(112)
Start Course

Course description

In this course, you will deepen your understanding of integrating C++ with QML by exploring advanced techniques such as singletons, non-instantiable types, and enumerators. By the end of this course, you will be well-equipped to implement more complex and flexible C++/QML interactions, allowing for a seamless blend of C++ backend functionality with QML front-end designs.

 

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

Objectives

You will learn:

  • How can you register and utilize QML singletons with C++?
  • How can you effectively use enumerations and properties in QML?
  • How can you create and manage non-instantiable types in QML?
  • How can you hide C++ types from being directly referenced in QML while still exposing their properties in derived types?
  • How do you decide on the best integration strategy based on project requirements?
  • 45m
  • BASIC
QML & C++ Integration Basics

4.9(222)

QML & C++ Integration Basics

In this course, you will explore integrating C++ with QML to create Qt applications. You will learn how to bridge the gap between the QML front-end and the C++ back-end, enabling you to leverage the strengths of both languages. This course was updated in April 2025 to continually improve course content and address feedback from the Qt Community. Change Log: Updated section explaining the include file for QML Type registration. Added snippet explaining use of QtQmlIntegration header for using the QML_ELEMENT Macro Refined explanation of the required arguments for using QML_PROPERTY Fixed wording on qmltypes recap in the step-by-step to be more explicit about its use.

Learn more
QML & C++ Integration Basics

QML & C++ Integration Basics

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

Course description

In this course, you will explore integrating C++ with QML to create Qt applications. You will learn how to bridge the gap between the QML front-end and the C++ back-end, enabling you to leverage the strengths of both languages.

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

Change Log:

  • Updated section explaining the include file for QML Type registration.
  • Added snippet explaining use of QtQmlIntegration header for using the QML_ELEMENT Macro
  • Refined explanation of the required arguments for using QML_PROPERTY
  • Fixed wording on qmltypes recap in the step-by-step to be more explicit about its use.

Objectives

You will learn:

  • What are the roles of QML and C++ in Qt applications?
  • What are the benefits of combining QML and C++ in Qt applications?
  • How do you register and use C+ + classes so that they are usable within QML?

Most Popular Courses

  • 20m
  • BASIC
Getting Started with Qt Creator

4.9(2015)

Getting Started with Qt Creator

In this course, you will launch the Qt Creator IDE 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. This course is for anyone interested in writing software with Qt Creator. To get the most out of this course, you should have some development experience and understand the basic software development concepts. You don't need any previous knowledge of Qt. This course was updated in February 2025 to continually improve course content and address feedback from the Qt Community. Change Log: Fixed links at end of the course Added zoom to videos so UI elements are easier to read Added additional links at end of course to topics identified in feedback

Learn more
Getting Started with Qt Creator

Getting Started with Qt Creator

  • 20m
  • BASIC
  • 4.9(2015)
Start Course

Course description

In this course, you will launch the Qt Creator IDE 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.

This course is for anyone interested in writing software with Qt Creator. To get the most out of this course, you should have some development experience and understand the basic software development concepts. You don't need any previous knowledge of Qt.


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

 

Change Log:

  • Fixed links at end of the course
  • Added zoom to videos so UI elements are easier to read
  • Added additional links at end of course to topics identified in feedback

Objectives

In this course, you will … 

  • Launch Qt Creator IDE and explore its basic views
  • Create a new project to try out basic functionalities
  • 10m
  • BASIC
How to Install Qt

4.9(2413)

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(2413)
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.

  • 30m
  • BASIC
Getting Started with Qt Design Studio

4.9(901)

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(901)
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