Skip to main content

Qt Academy Courses

Log in
  • 2min
  • basic
Qt Quick 3D: Lighting & Cameras

4.9(32)

Qt Quick 3D: Lighting & Cameras

In this course, you will learn about lighting and cameras, which are the essential components of a 3D scene.  This course is for 3D and technical artists with some knowledge of real-time rendering who are looking to apply their skills within the Qt Framework. This course was updated in April 2025 to continually improve course content and address feedback from the Qt Community.  Change Log: Updated section explaining WasdController. 

Learn more
  • 1h 5min
  • advanced
Inter-Process Communication with Qt

4.5(2)

Inter-Process Communication with Qt

This course is for anyone interested in learning about inter-process communication with Qt. To get the most out of this course, you should understand the basic software development concepts; experience with QtCore, covering QObject, signals and slots, QJson, QProcess, and threads is required. Note! The material is tested with Qt 5.15 and Qt 6. 

Learn more
  • 16h
  • basic
QML for Beginners

NaN(undefined)

QML for Beginners

The QML for Beginners Learning Path offers a comprehensive introduction to Qt Modeling Language (QML) and its associated modules and tools. This structured series guides you through fundamental QML concepts, with each course building upon knowledge gained in previous modules. Each course is paired with a hands-on coding challenge, allowing you to apply new skills in practical scenarios immediately. The path is designed for beginners with basic programming knowledge who want to develop applications with modern, responsive user interfaces. By completing this learning path, you will gain the skills to design, implement, and debug QML-based applications using industry best practices. During this learning path, you will: Explore the fundamentals of QML syntax, structure, and application development Create responsive user interfaces using Qt Quick and Qt Quick Controls Implement proper positioning and layouts for responsive designs Apply the Model-View-Delegate pattern for efficient data handling Adopt best practices for maintainable QML code Implement animations and transitions for enhanced user experience Develop debugging skills specific to QML applications Build complete, functional applications using the Qt framework

Learn more
  • 40min
  • basic
QML Debugging Basics with Qt Creator

4.9(15)

QML Debugging Basics with Qt Creator

Explore the debugging tools available in Qt Creator, learning how to diagnose, troubleshoot, and resolve issues in QML applications efficiently. Through a hands-on walkthrough, you will gain practical experience using breakpoints, inspecting the call stack, where to analyze QML properties by utilizing varying views in Qt Creator.   If you have some QML experience and want to familiarize yourself with debugging techniques to create stable and responsive Qt Quick applications, this is a good place to start.

Learn more
  • 1h 35min
  • basic
View3D Basics with Qt Design Studio

5(4)

View3D Basics with Qt Design Studio

In this course, you will gain a comprehensive understanding of essential concepts in creating realistic-looking 3D scenes using Qt. You'll understand the difference between View3D and Extended View3D components in Qt Design Studio and be familiar with Scene Nodes and components like Scene Environment. This course is for users who are new to Qt Design Studio and are interested in learning its 3D features and capabilities. Before getting started, we recommend getting up to speed with the Qt Design Studio: Recapping the Basics learning path.

Learn more
  • 45min
  • basic
Squish  - テスト同期

undefined(0)

Squish - テスト同期

このコースは、言語設定で日本語を選択した方のみ受講可能です。 このコースでは、テスト自動化のために Squish を使用する場合に、テストスクリプトとテスト対象のアプリケーション (AUT) の間の同期を維持する方法を学びます。 Squishを初めて使うお客様は、https://www.qt.io/ja-jp/download-quality-assurance にアクセスして、企業向けの10日間無料評価版をお試しください。また、QtのQAツールの詳細や、https://www.qt.io/ja-jp/quality-assurance-licensing をご覧ください。

Learn more
  • 20min
  • basic
Getting Started with Qt Creator

4.9(1315)

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
  • 30min
  • basic
How to Expose C++ to QML

4.9(307)

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
  • 30min
  • basic
 Building with Cmake: Getting Started with CMake and Qt

4.8(721)

Building with Cmake: Getting Started with CMake and Qt

In this tutorial, you will learn what CMake is and how it is used in application development with Qt. If you are a developer interested in building applications using Qt - learn CMakes power tools for building your applications.   This course was updated in February 2025. based on your feedback. The changes include:   Improved introduction to build systems and CMake Updated video: Using Qt creator 15 Qt 6.8.1 Updated voicover with clearer explanation of commands Improved overview of Cmake commands: Links to documentation Building Widgets/QML applications: Added minified examples Improved Explanations Added links to documentation Building using the command line Updated Code Snippets

Learn more
  • 3h 20min
  • basic
Introduction to Qt Widgets Part 6: Painting

4.7(3)

Introduction to Qt Widgets Part 6: Painting

This course is the sixth part of the Introduction to Qt Widgets series.  ‍‍This course is for anyone interested in learning about the Qt Widgets. To get the most out of this course, you should understand the basic software development concepts. Before getting started, we recommend looking at the Introduction to Qt Widgets: Part 5 course. Note! The material is made with Qt 6.    It is time to shift our focus to creating custom graphics. In this module we will discuss painting in depth, which includes palettes and color groups, painting operations, coordinate transformation, and printing. We will also dedicate an episode to live coding a bar chart.

Learn more
  • 1h 35min
  • advanced
QML Integration Advanced

4.8(16)

QML 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
  • 1h 45min
  • basic
Translations

4.7(7)

Translations

In this course, you will gain a comprehensive understanding of features that Qt contains to localize applications. Qt Quick and Qt C++ applications use the same underlying localization system, so it is possible to have translatable strings in QML and C++ source files in the same application. You'll learn how to mark the code for translation in QML and C++, how to create translation files and adapt the code to load translations into the application. Additionally, this course contains a section of CMake commands and dynamic translations. This course is for individuals who are willing to learn about translations in Qt.

Learn more
  • 1h
  • basic
QML Fluid Elements and Animation

4.8(17)

QML Fluid Elements and Animation

Explore the power of fluid elements and animation in QML, learning how to create smooth, dynamic, and visually engaging user interfaces. This course will cover various QML animation techniques, including property animations, easing curves, behavior animations, path animations, and advanced state transitions. By the end of the course, you will be able to implement fluid and high-performance animations that elevate the user experience in your Qt Quick applications. This course is for developers with experience in QML who want to explore animation techniques to create fluid and interactive UIs.

Learn more
  • 1h 35min
  • basic
Qt for Medical Device Software by Scythe Studio

4.8(16)

Qt for Medical Device Software by Scythe Studio

This course provides an in-depth exploration of using Qt for healthcare and medical device software development. While the coding fundamentals align with those in other industries, the focus is on addressing the unique challenges and topics specific to the healthcare sector. This course is designed for CTOs, medical software founders, and development team leaders, this course equips you to tackle the technical and regulatory complexities of healthcare software. Even if you’re outside the healthcare sector, there’s valuable insight to gain into Qt development.

Learn more
  • 1h 30min
  • basic
Squish - オブジェクトの識別

5(1)

Squish - オブジェクトの識別

このコースは、言語設定で日本語を選択した方のみ受講可能です。 このコースでは、Squishオブジェクトマップを使用してAUTのオブジェクトを操作する方法を学びます。 Squishを初めて使うお客様は、https://www.qt.io/ja-jp/download-quality-assurance にアクセスして、企業向けの10日間無料評価版をお試しください。また、QtのQAツールの詳細や、https://www.qt.io/ja-jp/quality-assurance-licensing をご覧ください。

Learn more
  • 4h 45min
  • basic
Intoduction to Qt Widgets: Part 5

4.3(3)

Intoduction to Qt Widgets: Part 5

This course is the fifth part of the Introduction to Qt Widgets series.  ‍‍This course is for anyone interested in learning about the Qt Widgets. To get the most out of this course, you should understand the basic software development concepts. Before getting started, we recommend looking at the Introduction to Qt Widgets: Part 4 course. Note! The material is made with Qt 6.    Core Classes In this module you will learn about some of the classes that make the glue in Qt. Included are: String handling, working with regular expressions, file handling, the property system in Qt, and finally the class QVariant which plays an important role in many places.

Learn more
  • 1h 35min
  • basic
Model and Views in Qt Quick

4.9(21)

Model and Views in Qt Quick

In this course, you will gain a comprehensive understanding of the most used QML model types, views and how to interact with them. Models in QML are built using one of the QML model types. There are collections of different model types available, however the most used model types are ListModel, TableModel, and ObjectModel. This course will guide you through the basics of ListModel/ListView and TableModel/TableView and how to effectively interact with them. Finally, you'll learn more about TreeView and ObjectModel.  This course is for individuals who are looking to get a better understanding in Model-View-Controller (MVC) design philosophy.

Learn more
  • 1h 45min
  • basic
Qt Design Studio: Recapping the Basics

NaN(undefined)

Qt Design Studio: Recapping the Basics

In this learning path, you will get a comprehensive understanding of Qt Design Studio UI, its tools and different workspaces. You'll also familiarize yourself with various topics from properties, components and assets to QML project structure and finally to creating additional screens and animations to them. This learning path consists of four courses.  This learning path is for people new to Qt Design Studio. To get most out of it, we recommend to have a basic knowledge on design tools and how they work.

Learn more
  • 1h 30min
  • basic
QML Best Practice

4.9(37)

QML Best Practice

Dive into the essential best practices for writing robust, maintainable, high-performance QML code. This course will equip you with actionable insights and practical examples to elevate your projects and gain a comprehensive understanding of how to write clean, error-resistant QML and leverage advanced language features effectively.

Learn more
  • 25min
  • intermediate
Qt DataVisualization to Qt Graphs

5(7)

Qt DataVisualization to Qt Graphs

Learn how to migrate applications from the Qt DataVisualization Module to the Qt Graphs Module. Focusing on the practical steps required for migration, we'll guide you through key changes in CMake configurations, code, and asset handling. By the end of this course, you'll have a solid understanding of how to successfully transition your 3D application and leverage the enhanced features of Qt Graphs.  It does not cover the 2D offering of Qt Graphs. The tutorial is ideal for those familiar with the Qt Framework, C++, QML, and CMake.

Learn more
  • 50min
  • basic
Multiple Screens in Qt Design Studio

4.8(44)

Multiple Screens in Qt Design Studio

In this course, you'll learn how to create additional screens in Qt Design Studio. By the end of this course, you will also have an understanding on how to add transitions, animations and logic and view the outcome in Qt Design Studio. This tutorial is for people new to Qt Design Studio. To get most out of the course, we recommend to have a basic knowledge on design tools and how they work.

Learn more
  • 20min
  • basic
Project Structure in Qt Design Studio

4.8(152)

Project Structure in Qt Design Studio

In this course, you'll get a basic understanding of the QML project structure and learn the difference between declarative and imperative programming styles. You'll also familiarize yourself with App.qml and UI files, and learn how to change different settings with Constants.qml file.  This tutorial is for people new to Qt Design Studio. To get most out of the course, we recommend to have a basic knowledge on design tools and how they work. You don't need coding experience, however, any knowledge on CSS (Cascading Style Sheets) will help you.

Learn more
  • 20min
  • basic
Fundamental Concepts in Qt Design Studio

4.8(105)

Fundamental Concepts in Qt Design Studio

In this course, you'll get a better understanding of different properties and familiarize yourself with components and assets. You'll also learn, how to use the states view in Qt Design Studio.  This tutorial is for people new to Qt Design Studio. To get most out of the course, we recommend to have a basic knowledge on design tools and how they work. You don't need coding experience, however, any knowledge on CSS (Cascading Style Sheets) will help you.

Learn more
  • 15min
  • basic
Basic Views in Qt Design Studio

4.8(97)

Basic Views in Qt Design Studio

In this course, you'll get a basic understanding of Qt Design Studio UI, its tools and different workspaces. By the end of this course, you will have an understanding on how to navigate in Qt Design Studio.  This tutorial is for people new to Qt Design Studio. To get most out of the course, we recommend to have a basic knowledge on design tools and how they work.

Learn more
  • 15min
  • basic
Qt Group 产品

5(11)

Qt Group 产品

这门课程适用于选择中文作为课程首选语言的用户。 在本课程中,您将了解 Qt 集团提供的产品及其主要用例。 本课程适用于任何对 Qt 公司及其产品感兴趣的人。   本课程于 2024 年 12 月更新,删除了 Qt 集团不再提供的产品。

Learn more
  • 15min
  • basic
Qt Group Products

4.8(730)

Qt Group Products

In this course, we go through Qt's product portfolio and the main use cases for each product in order to give you real-life examples. This course is for anyone interested in Qt Group, Qt Framework or Quality Assurance technologies we offer.   This course was updated in December 2024 to remove products no longer offered by Qt Group.

Learn more
  • 1h 35min
  • basic
Model View Delegate with QML

4.8(56)

Model View Delegate with QML

In this course, you will explore the Model View Delegate pattern within QML and the Qt framework. You will gain the skills to handle complex data models and present them effectively within your applications. This course will provide a hands-on understanding of the key elements of Models, Views, and Delegates and the interaction between Qt Types. By the end of this course, you will have developed a functional weather application that demonstrates real-time data interaction through the MVD pattern.

Learn more
  • 1h 30min
  • basic
Squish - Object Identification

4.8(91)

Squish - Object Identification

Begin your journey to understand how to take the complexity out of testing graphical user interfaces and human-machine interfaces by getting to know Squish and how to test applications. During the course, we will explore object maps, how to create and edit them, and how to interact with objects that are registered in the object map. Additionally, we will go through object name generation and learn about occurrences and how to avoid them in Squish. If you are new to Squish - head to qt.io/download to experience Squish for a 10-day free evaluation for businesses. If you want to learn more about Qt's QA tools, click here for more information on commercial pricing and licensing.

Learn more
  • 1h 30min
  • basic
Creating Responsive Layouts in QML with LayoutItemProxy

4.9(18)

Creating Responsive Layouts in QML with LayoutItemProxy

In this course you will learn about Proxy Layouts which is one of the techniques that allows you to implement responsive layouts in QML. We will kick off the course with short introduction to the principles of responsive layout development, get familiar with the LayoutItemProxy class and then proceed with practical examples of using it in different scenarios.   This course is for you if you want to learn more about latest techniques of UI development with QML.

Learn more
  • 1h 30min
  • intermediate
Let's Get Thready! Multithreading with Qt

4.9(118)

Let's Get Thready! Multithreading with Qt

Explore multithreading concepts and basic concurrency within the context of building GUI applications with Qt. We will go through some basic concepts of concurrent programming and how these are implemented within Qt. You will explore these multithreading concepts with Qt within an example application provided.   This course was updated in October 2024 to continually improve course content and address feedback from the Qt Community.

Learn more
  • 10min
  • basic
How to Install Qt

4.9(1693)

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 October 2024 to continually improve course content and address feedback from the Qt Community.

Learn more
  • 1h 35min
  • basic
Positioners and Layouts

5(65)

Positioners and Layouts

In this course, you will explore a range of methods to arrange and size visual items within your applications effectively. You’ll start with basic techniques using anchors and gradually progress to more advanced layout methods, ensuring your user interface works seamlessly across various screen sizes and devices.

Learn more
  • 1h
  • intermediate
QML Integration Intermediate

4.7(77)

QML 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
  • 45min
  • basic
Squish - 基本的な使い方

5(2)

Squish - 基本的な使い方

このコースは、言語設定で日本語を選択した方のみ受講可能です。 本コースでSquishを使ったアプリケーションのテスト方法を学ぶことにより、複雑なグラフィカルユーザーインターフェイスとヒューマンマシンインターフェイスのテストをより簡単に実施できるようになります。 Squishを初めて使うお客様は、https://www.qt.io/ja-jp/download-quality-assuranceにアクセスして、企業向けの10日間無料評価版をお試しください。また、QtのQAツールの詳細や、https://www.qt.io/ja-jp/quality-assurance-licensing をご覧ください。

Learn more
  • 5min
  • basic
Qt Tips

4.7(26)

Qt Tips

Qt Tips are a series of short-form videos aimed at helping you speed up your development workflow. Whether you are using Qt Creator or Qt Design Studio for your project, there is something for everyone to explore to make their development process more efficient. New Qt Tips will be released periodically, so make sure to come back and check out if there is something that can help you customize your workflow.

Learn more
  • 1h 10min
  • basic
Introduction to Qt Widgets: Part 4

4.9(22)

Introduction to Qt Widgets: Part 4

This course is the fourth part of the Introduction to Qt Widgets series.  ‍‍This course is for anyone interested in learning about the Qt Widgets. To get the most out of this course, you should understand the basic software development concepts.  Before getting started, we recommend looking at the Introduction to Qt Widgets: Part 3 course. Note! The material is made with Qt 6.    Toplevel Windows In Qt, there are two classes representing a top level window, namely QMainWindow (which has support for menubars, toolbars, etc), and QDialog which can be modal. Learn about both classes in this module, plus get an overview of the existing dialogs which you may use out of the box.    

Learn more
  • 45min
  • basic
QML Modules

4.9(122)

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 October 2024 to continually improve course content and address feedback from the Qt Community.

Learn more
  • 20min
  • basic
Getting Started With Qt Creator 13

4.8(46)

Getting Started With Qt Creator 13

Note: Qt Creator 14 is now available - please go here to start your Qt journey with the newer course!   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. You will need a laptop or a desktop computer (not a mobile device) to use Qt Creator. 

Learn more
  • 30min
  • basic
Introduction to Design Thinking

4.8(304)

Introduction to Design Thinking

In the Introduction to Design Thinking course, you will learn about the common challenges that users face daily, which are often overlooked, and how the Design Thinking process can contribute to solving these issues. The course covers universal principles of design and design psychology, delving into gestalt principles such as proximity, similarity, continuity, closure, and symmetry. You will explore how visual structure and hierarchy affect understanding and address the limitations of memory and attention spans with strategies to mitigate these issues. Additionally, the course highlights factors that enhance learning and accelerate the grasp and usage of user interfaces, providing examples of utilizing Design Thinking to improve User Experience (UX).

Learn more
  • 55min
  • basic
Get to Know Qt Licensing

NaN(undefined)

Get to Know Qt Licensing

Throughout this learning path, you will take a deep dive into Qt’s licensing. The first course focuses on the dual licensing of Qt designer and developer tools and framework. The course covers key aspects and differences between open source and commercial licensing. The second course covers the Qt Community Edition, the Open Source version of Qt developer framework and tools.  In the third course you’ll learn about Qt’s Distribution licenses which are particularly relevant for those with Qt for Device Creation (DC) developer licenses or considering purchasing such licenses.  

Learn more
  • 45min
  • basic
QML Integration Basics

4.8(136)

QML 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 October 2024 to continually improve course content and address feedback from the Qt Community.

Learn more
  • 1h 30min
  • basic
 QML入門

4.9(8)

QML入門

このコースは、言語設定で日本語を選択した方のみ受講可能です。 このコースでは、QML の魅力的な世界を探求し、視覚的にリッチでインタラクティブなアプリケーションを作成するための多くの利点を学習します。 このコースは、新しい Ul デザイン技術をツールキットに加えたい開発者や、Ulデザインのアイデアを実現したいデザイナーのためのコースです。 このコースを受講する前に、Ready, Set, Qt!ラーニングパスでQtエンジンを起動することをお勧めします。 このコースを修了すると、QML の構文、概要、機能を理解し、アプリケーションで QML を使用できるようになります。

Learn more
  • 10min
  • basic
How to Create a Support Request?

4.7(17)

How to Create a Support Request?

This tutorial is for commercial customers and partners. Before getting started, we recommend taking a look at Qt Group Products course.

Learn more
  • 40min
  • basic
Test Results

4.7(33)

Test Results

In this course, you will explore how to import and view test results in Squish Test Center using a variety of methods from uploading via command line to manual testing. If you are new to Squish - head to qt.io/download to experience Squish for a 10-day free evaluation for businesses. If you want to learn more about Qt's QA tools, click here for more information on commercial pricing and licensing.

Learn more
  • 2h 40min
  • basic
Introduction to Qt Widgets: Part 3

4.8(32)

Introduction to Qt Widgets: Part 3

This course is the third part of the Introduction to Qt Widgets series.  ‍‍This course is for anyone interested in learning about the Qt Widgets. To get the most out of this course, you should understand the basic software development concepts.  Before getting started, we recommend looking at the Introduction to Qt Widgets: Part 2 course. Note! The material is made with Qt 6.    The whirlwind tour + in depth layout management This module will start out with introducing you to the obvious use cases of the common widgets in Qt, but also the not so obvious one. After four episodes of widgets, we will turn our focus to layout management. It's time to understand all the gritty details, like stretching, size hints, size policy, and more.

Learn more
  • 25min
  • intermediate
Qt Community Edition in Depth

4.8(51)

Qt Community Edition in Depth

In this course, you will explore the licensing requirements for Qt Community Edition, the Open Source version of Qt developer framework and tools. This course is for users interested in using Qt Community Edition and independent developers who can meet the requirements and obligations associated with open source software. Before getting started, we recommend taking a look at the Qt Licensing  for Designer & Developer Offerings. It will help you understanding the commercial licensing of Qt Developer Framework and Tools, thus puts the open source offering in a perspective and helps in understanding the differences in offerings. Please note! This is not a legal training and does not constitute as legal advice for using open source. 

Learn more
  • 30min
  • intermediate
Getting Started: Qt for MCUs

5(104)

Getting Started: Qt for MCUs

In this course, you'll get an overview of what Qt for MCUs is, and why use it. You will create your first project with Qt for MCUs: a simple heartbeat monitor. We will create a graphic user interface, build a backend, and deploy it to a target. This course is for people interested in developing on microcontrollers (MCUs). We recommend that you have previous knowledge of Qt as we'll be using Qt Design Studio and Qt Creator. You need to have Qt for MCUs installed on your computer to get the most out of this course. Qt for MCUs is available on Qt for Device Creation license package.   ▶️ For the case project, you can use any supported target board or use the Desktop kit to emulate a board on your computer.

Learn more
  • 1h 5min
  • basic
Introduction to Qt Quick Controls

4.9(110)

Introduction to Qt Quick Controls

Dive in and learn the power of Qt Quick Controls. Introduction to Qt Quick Controls is a comprehensive look into application development using the Qt Quick Controls module, an extensive library of UI elements for building applications quickly.  In this course, you will apply your knowledge of QML and Qt Quick by exploring the Qt Quick Controls module and its basic types to create user interfaces by creating a simple application. Using the provided assets, you will learn the anatomy of Control, explore the Qt Quick controls Basic Style, and position the components using layouts. This course is for people who want to start their journey with QML and the Qt Quick Controls Module, building a foundation to create rich, interactive user interfaces for their applications. This is a great place to start if you have some fundamental programming understanding, primarily JavaScript.

Learn more
  • 30min
  • basic
Getting Started with Qt for Python

4.8(84)

Getting Started with Qt for Python

In this course, you will learn to install Qt for Python and create new Qt Widget and Simple Quick Applications. Additionally, you will familiarize yourself with the deployment tool for Qt for Python. This course is for Python users who are new to PySide6 and Qt. You will get the most out of the course if you already know some Python basics and command line notions.  Before getting started, we recommend taking a look at the Ready, Set Qt learning path.

Learn more
  • 20min
  • basic
设计者和开发者产品的 Qt 许可

5(6)

设计者和开发者产品的 Qt 许可

这门课程适用于选择中文作为课程首选语言的用户。 在本课程中,我们将讲解 Qt 设计器和开发工具及框架的双重许可。课程涵盖开源许可和商业许可的主要方面和区别。 本课程适合那些希望了解何时以及为何选择开源与商业 Qt 许可的人。

Learn more
  • 1min
  • basic
2D with Qt Design Studio

4.9(178)

2D with Qt Design Studio

In this course, we go through the fundamentals of composing a 2D user interface with Qt Design Studio. You need to have Qt Design Studio installed on your computer to get the most out of this course. You will need a laptop or a desktop computer (not a mobile device) to use Qt Design Studio.​

Learn more
  • 2h
  • basic
Providing Models from C++ to QML

4.7(52)

Providing Models from C++ to QML

In this course, you will explore the basics of Model/View Programming in Qt and QML. You will understand the Model/View architecture, the concepts involved, and how the data is exposed from C++ and presented to a user with QML. This is an important topic as integrating C++ and QML effectively unlocks the potential to create robust, efficient, and visually stunning applications. This course is for developers who want to learn best practices on how to get C++ to talk to QML.

Learn more
  • 1h
  • basic
Introduction to Qt Quick

4.9(195)

Introduction to Qt Quick

Dive in and begin your journey of learning the foundations of interactive UI creation with Qt Quick. Introduction to Qt Quick is a comprehensive look into application development using QML and JavaScript.  In this course, you will discover how to set up your project, create a basic UI canvas with imported assets, create and utilize custom components, handle user input, and integrate more complex interactions using JavaScript. This course is for people who want to start their journey with QML and the Qt Quick Module, building a foundation to create rich, interactive user interfaces for their applications. If you have some fundamental understanding of programming, especially JavaScript, this is a great place to start.

Learn more
  • 1h
  • basic
Page Object Model in Squish

4.7(20)

Page Object Model in Squish

In this course, you will learn how to approach the management of objects in your tests using the Page Object Model in Squish. This is important to know as adapting the Page Object Model in Squish unlocks the potential to create robust, efficient, and easy-to-maintain tests of your application.    This course is for software testers, QA engineers, and developers interested in automated testing who have a basic understanding of Python.

Learn more
  • 30min
  • basic
Getting Started with Qt Design Studio

4.9(607)

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
  • 7h 20min
  • basic
Automated Testing with Squish

NaN(undefined)

Automated Testing with Squish

  Build a fundamental understanding of automated GUI testing with Squish. Create, manage, and execute automated tests for software applications with practical examples. Start with configuring the testing environment and understanding the role of the Squish IDE when creating tests. Explore the tools to record and verify tests. You will look at different ways to test applications, from using external data to building Behavior-Driven testing for agile development. By the end of the learning path, you will be well-equipped to utilize Squish for building your test suites; enhancing software quality and reliability through efficient automation strategies.

Learn more
  • 40min
  • basic
Squish - Advanced Test Execution

4.9(45)

Squish - Advanced Test Execution

In this course, you will explore in detail the processes of GUI testing in Squish, focusing on its architecture, command-line execution, tagging, and report generation features, enhancing your proficiency in distributed testing environments and various testing scenarios. If you are new to Squish - head to qt.io/download to experience Squish for a 10-day free evaluation for businesses. If you want to learn more about Qt's QA tools, click here for more information on commercial pricing and licensing.

Learn more
  • 2h 15min
  • basic
Introduction to Qt Widgets: Part 2

4.8(49)

Introduction to Qt Widgets: Part 2

This course is the second part of the Introduction to Qt Widgets series.  ‍‍This course is for anyone interested in learning about the Qt Widgets. To get the most out of this course, you should understand the basic software development concepts.  Before getting started, we recommend looking at the Introduction to Qt Widgets: Part 1 course. Note! The material is made with Qt 6.    Qt Designer In this course, we are using Qt Designer. It is the Qt tool for designing and building graphical user interfaces (GUIs) with Qt Widgets. You can compose and customise your windows or dialogues in a what-you-see-is-what-you-get (WYSIWYG) manner and test them using different styles and resolutions. Widgets and forms created with Qt Designer integrate seamlessly with programmed code, using Qt's signals and slots mechanism so that you can easily assign behaviour to graphical elements. All properties set in Qt Designer can be changed dynamically within the code. Furthermore, features like widget promotion and custom plugins allow you to use your own components with Qt Designer.  You can find more detailed info about the Qt Designer from the documentation.  Note: You have the option of using Qt Quick and Qt Design Studio for user interface design rather than widgets. It is a much easier way to write many kinds of applications. It enables a completely customisable appearance, touch-reactive elements, and smooth animated transitions, taking advantage of hardware acceleration.

Learn more
  • 40min
  • basic
Squish -  Advanced Hooking

4.9(43)

Squish - Advanced Hooking

In this course, you will learn about advanced hooking in Squish by familiarizing yourself with the concept of application context, learning how to test multiple AUTs and attach to running AUTs.  If you are new to Squish - head to qt.io/download to experience Squish for a 10-day free evaluation for businesses. If you want to learn more about Qt's QA tools, click here for more information on commercial pricing and licensing.

Learn more
  • 1h 30min
  • basic
QML介绍

5(17)

QML介绍

这门课程适用于选择中文作为课程首选语言的用户。 在这门课程中,您将探索 QML 这个令人兴奋的世界,并发现它在创建视觉丰富的交互式应用程序方面的诸多优势。 本课程适用于想要将新的 UI 设计技术添加到其工具包中的开发人员,以及希望将其 UI 设计想法变为现实的设计师。

Learn more
  • 30min
  • basic
How to Use Qt Bridge for Figma

4.6(125)

How to Use Qt Bridge for Figma

Understand how Figma can be used as an external design tool and how these designs can progress from wireframe to prototype with the help of the Qt Bridge plugin for Figma. This course is designed around an independent exploration of the tools in Figma with the support of an example project to illustrate how the components and assets translate into Qt Design Studio.

Learn more
  • 1h 30min
  • basic
Introduction to QML

4.9(375)

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.

Learn more
  • 35min
  • basic
Squish Extensions

4.8(44)

Squish Extensions

Learn about Squish extensions and how they are used to recognize Qt Quick Control and custom components. If you are new to Squish - head to qt.io/download to experience Squish for a 10-day free evaluation for businesses. If you want to learn more about Qt's QA tools, click here for more information on commercial pricing and licensing.

Learn more
  • 1h
  • basic
Squish - Data-Driven Testing

4.8(59)

Squish - Data-Driven Testing

Explore the key concepts of data-driven testing in Squish and learn to make a test case data-driven. If you are new to Squish - head to qt.io/download to experience Squish for a 10-day free evaluation for businesses. If you want to learn more about Qt's QA tools, click here for more information on commercial pricing and licensing.

Learn more
  • 1min
  • basic
The Must-Knows of UI Design

4.8(116)

The Must-Knows of UI Design

Dive into the essentials of UI design through a comprehensive exploration of wireframe creation, including its significance and the tools suitable for both digital and paper formats. Learn to gauge the necessary level of detail, whether low-fidelity or high-fidelity and understand the basics of conducting workshops to craft wireframes, utilizing wall techniques collaboratively. Identify the fundamentals of prototyping, emphasizing its importance, the seamless transition from wireframes to prototypes, and the prevalent methods for creating prototypes. Within the UX process, explore common methodologies such as contextual inquiry, moderated and unmoderated tests, expert reviews, and A/B testing, alongside the differentiation between using large datasets for qualitative and quantitative analysis. Additionally, gain insight into integrating these methodologies into a design workflow using Qt software, illustrating an example workflow from using Miro/Figjam for wireframe creation, Figma for basic prototyping, and user testing of prototypes and the iterative process of sharing and re-testing the application with users.

Learn more
  • 45min
  • basic
Basic Squish Usage

4.9(142)

Basic Squish Usage

Begin your journey to understand how to take the complexity out of testing graphical user interfaces and human-machine interfaces by getting to know Squish and how to test applications. During the course, we will explore how to create, automate, and verify tests with different verification points to validate GUI objects.  If you are new to Squish - head to qt.io/download to experience Squish for a 10-day free evaluation for businesses. If you want to learn more about Qt's QA tools, click here for more information on commercial pricing and licensing.

Learn more
  • 45min
  • basic
Squish - Test Synchronization

4.8(67)

Squish - Test Synchronization

Explore how to maintain synchronization between a test script and the Application Under Test (AUT) when using Squish for test automation. If you are new to Squish - head to qt.io/download to experience Squish for a 10-day free evaluation for businesses. If you want to learn more about Qt's QA tools, click here for more information on commercial pricing and licensing.

Learn more
  • 40min
  • basic
Squish - Behavior Driven Development

4.9(52)

Squish - Behavior Driven Development

Explore how to utilize Behavior-Driven Development within Squish to perform tests on your applications based on outlined criteria at the beginning of the development cycle.

Learn more
  • 20min
  • basic
Qt Licensing for Designer & Developer Offerings

4.8(254)

Qt Licensing for Designer & Developer Offerings

In this course, you will learn about the different licenses that Qt offers for our products. We have support on various levels to match our customers' size, business goals, and internal resource.  We'll explain dual licensing of Qt designer and developer tools and framework. The course covers key aspects and differences between open-source and commercial licensing. This course is for those who want to understand when and why to select open source versus a commercial Qt license, and what the key differences are.

Learn more
  • 11h 40min
  • basic
Introduction to Qt Quick 3D

NaN(undefined)

Introduction to Qt Quick 3D

In this learning path, you will take a deep dive into the world of Qt Quick 3D and familiarize yourself with various topics, from nodes and scenes to post-processing. This learning path consists of six courses. Each of the courses is designed to be complemented by a companion project, allowing you to instantly view each of the example projects we are working on in each module. The aim is for you to interact with the code at every step, enhancing your understanding of each concept.  This learning path is for 3D and Technical Artists with some knowledge of real-time rendering looking to apply their skills within the Qt Framework.

Learn more
  • 2h 30min
  • basic
Qt Quick 3D: Custom Materials, Render Settings & Post-Processing

4.9(15)

Qt Quick 3D: Custom Materials, Render Settings & Post-Processing

In this course, you will learn about writing custom materials and some of the settings used to control the global rendering environment. Additionally, you will familiarize yourself with writing custom post-processing effects. This course is for 3D and Technical Artists with some knowledge of real-time rendering looking to apply their skills within the Qt Framework.  

Learn more
  • 1h 25min
  • basic
Qt Quick 3D: Interaction and Managing Performance

4.9(17)

Qt Quick 3D: Interaction and Managing Performance

In this course, you will learn about interacting with 3D content and managing performance through instancing and using level of detail. This course is for 3D and Technical Artists with some knowledge of real-time rendering looking to apply their skills within the Qt Framework.

Learn more
  • 1h 30min
  • basic
Qt Quick 3D: Animations

4.7(26)

Qt Quick 3D: Animations

In this course, you will learn about the different types of animations available in Qt Quick 3D and how to use them. This course is for 3D and Technical Artists with some knowledge of real-time rendering looking to apply their skills within the Qt Framework.

Learn more
  • 3h 10min
  • basic
Introduction to Qt Widgets: Part 1

4.8(98)

Introduction to Qt Widgets: Part 1

This course is the first part of the Introduction to Qt Widgets series.  ‍‍This course is for anyone interested in learning about the Qt Widgets. To get the most out of this course, you should understand the basic software development concepts.  Before getting started, we recommend looking at the How to Install Qt course. Note! The material is made with Qt 6.    First step in Qt - understanding the underlying object model As tradition demand of us, we will start this module with showing "hello world", and learning how to compile it. The core part of this module is, however, understanding how the object model works. This, obviously, includes a thorough discussion of the signal/slots mechanism, properties, and the event system.

Learn more
  • 2h 30min
  • basic
Qt Quick 3D: Assets & Resources

5(23)

Qt Quick 3D: Assets & Resources

In this course, you will learn about importing your own assets and using resources, such as textures, geometry, and materials, in building the 3D scene.  This course is for 3D and Technical Artists with some knowledge of real-time rendering looking to apply their skills within the Qt Framework.

Learn more
  • 1h 45min
  • basic
Qt Quick 3D: Views, Scenes & Nodes

4.9(51)

Qt Quick 3D: Views, Scenes & Nodes

In this course, You will learn how to get started with Qt Quick 3D and familiarize yourself with some key concepts for creating 3D content.  This course is for 3D and Technical Artists with some knowledge of real-time rendering looking to apply their skills within the Qt Framework.

Learn more
  • 45min
  • basic
Getting Started: Boot to Qt

4.9(68)

Getting Started: Boot to Qt

Getting Started: Boot to Qt will help you get started with developing for embedded devices with stunning user interfaces using the power of Qt. This course provides a step-by-step guide to deploying graphical user interfaces on embedded devices (we will use the Raspberry Pi 4 Model B.) Start your journey into the world of embedded development with Boot to Qt.

Learn more
  • 20min
  • basic
The Qt Promise

4.8(488)

The Qt Promise

In this course, we go through how Qt Group and its products help you tackle typical challenges that software designers, developers, test engineers, and companies often face. This course is for anyone interested in Qt Group and the Qt or Quality Assurance technologies we offer.

Learn more
  • 1h
  • basic
Introduction to Signals and Slots

4.8(144)

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
  • 2h 25min
  • basic
Esri x Qt: Exploring with ArcGIS Maps SDK for Qt

NaN(undefined)

Esri x Qt: Exploring with ArcGIS Maps SDK for Qt

Esri is the world's leading supplier of geographic information system (GIS) software, web GIS, and geodatabase management applications. Founded in 1969, the company is known for its flagship product, ArcGIS, a comprehensive GIS software suite that offers mapping and spatial analysis tools. In this learning path, we will introduce you to ArcGIS Maps SDK for Qt, a set of tools and APIs provided by Esri, designed for building mapping and GIS applications using the Qt framework. Throughout the path, you will learn how to set up a simple mapping application that displays the user's location, displays their path as they move around, and implement the ability to download a specified area for offline accessibility. The learning path is designed for individuals with some C++ and QML knowledge, so we encourage you to come prepared by getting set up with Qt Creator and Framework by completing the Ready, Set, Qt! learning path first. You will have an app to explore, adapt, and build upon for a personal project or portfolio piece at the end of the path. We will signpost you at the end to share this on the Qt Forums, where you can interact with Esri and Qt Academy team members for support and feedback. Join us on this journey of exploration as you build your skills in integrating Qt and the ArcGIS Maps SDK!

Learn more
  • 10min
  • basic
Qt Distribution Licenses

4.7(83)

Qt Distribution Licenses

In this short course, you will learn about Qt's Distribution Licenses, what they are, and when you need them. This course is for anyone interested in understanding Qt's Distribution Licenses. The course is particularly relevant for those with Qt for Device Creation (DC) developer licenses or considering purchasing such licenses. Qt for Device Creation developer licenses, whether professional or enterprise, consist of two parts: Developer and Distribution Licenses.  This course covers the latter part.

Learn more
  • 3h
  • basic
FYI x Qt: Qt Development Framework

NaN(undefined)

FYI x Qt: Qt Development Framework

The Qt Development Framework Path, in collaboration with FYI is a learning path designed to help you get started with the Qt framework and tools and get you on your way to creating your own applications!  Follow the courses to get set up with your IDE, learn how to use CMake and build your applications, and dive 'under the hood' to see how we communicate between objects with Qt and C++. Finally, explore building and testing your applications for different platforms such as Android and iOS.   FYI.me, a California-based mobile tech company founded and headed by artist and tech entrepreneur, will.i.am. FYI combines messaging and collaboration tools with file management and content publishing features to create an all-in-one experience that makes creative teams more productive. Note: This is an updated version of the previous FYI X Qt Backend Path, now open to all! Based on feedback, we have updated the courses in some areas and made them more accessible. Some courses may appear in multiple learning paths; be aware that progress may not be tracked correctly if you have a course in progress in a different path. We recommend starting and completing a course in the first place you have enrolled.

Learn more
  • 45min
  • basic
Making Connections: Qt Object System and Object Communication

4.9(167)

Making Connections: Qt Object System and Object Communication

In this course, you learn how and why Qt works under the hood enabling you to extend plain C++.  Also, you learn how to implement communication between objects using signals and slots. This course is for people with basic knowledge of QML and an understanding of object-oriented programming concepts using C++.  You need to have Qt Creator installed on your computer to get the most out of this course. You will need a laptop or a desktop computer (not a mobile device) to use Qt Creator. 

Learn more
  • 8min
  • intermediate
Qt Widgets and More with KDAB

NaN(undefined)

Qt Widgets and More with KDAB

In this learning path, we'll explore tips and tricks about Qt Widget creation using Qt Designer. ‍‍This path is for anyone interested in learning about the Qt Widget creations with Qt Designer. To get the most out of this course, you should have some experience with Qt Widgets and understand the basic software development concepts.  Before getting started, we recommend looking at the How to Install Qt course.   Note! The material is not based on the latest Qt version, and new versions may have a different implementation.    This material was created and is the property of KDAB. It has been published on Qt Academy with their permission. KDAB offers experienced software experts to help you deliver functional, high-performing and innovative software across embedded, mobile and desktop platforms for projects using C++, Qt, QML/Qt Quick, OpenGL, Qt 3D and more. KDAB experts regularly take time out to deliver KDAB’s world-class training, in-house or at open enrollment courses worldwide. You can contact them here. Qt does not own the copyrights to this material, nor is it responsible for the content. *** About the instructor: The videos are presented by Jesper Pedersen, who started with Qt back when Qt was widgets only, and the version was 1.44, which gives him 21 years of experience with Qt. Since 2000 he has taught almost 100 Qt classes, ranging from Qt Widgets to QML. Jesper even taught a few classes on QTopia Core — Trolltech's initial attempt at creating a phone stack. Today, Jesper holds a fancy business title, but that doesn't prevent him from coding both in his job and his spare time.

Learn more
  • 1h 20min
  • intermediate
Qt Designer Plugins with KDAB

4.9(10)

Qt Designer Plugins with KDAB

Throughout this series, we'll explore tips and tricks about Qt Widget creation using Qt Designer. ‍‍This course is for anyone interested in learning about the Qt Widget creations with Qt Designer. To get the most out of this course, you should have some experience with Qt Widgets and understand the basic software development concepts.  Before getting started, we recommend looking at the How to Install Qt course.   Note! The material is not based on the latest Qt version, and new versions may have a different implementation. 

Learn more
  • 45min
  • intermediate
Document templates in Qt Creator with KDAB

5(14)

Document templates in Qt Creator with KDAB

Throughout this series, we'll explore tips and tricks about Qt Widget creation using Qt Designer. ‍‍This course is for anyone interested in learning about the Qt Widget creations with Qt Designer. To get the most out of this course, you should have some experience with Qt Widgets and understand the basic software development concepts.  Before getting started, we recommend looking at the How to Install Qt course. Note! The material is not based on the latest Qt version, and new versions may have a different implementation. 

Learn more
  • 2min
  • intermediate
Model/View with KDAB

4.9(20)

Model/View with KDAB

Throughout this series, we'll explore tips and tricks about Qt Widget creation using Qt Designer. ‍‍This course is for anyone interested in learning about the Qt Widget creations with Qt Designer. To get the most out of this course, you should have some experience with Qt Widgets and understand the basic software development concepts.  Before getting started, we recommend looking at the How to Install Qt course.   Note! The material is not based on the latest Qt version, and new versions may have a different implementation. 

Learn more
  • 4min
  • intermediate
QAbstractItemViews with KDAB

4.9(17)

QAbstractItemViews with KDAB

Throughout this series, we'll explore tips and tricks about Qt Widget creation using Qt Designer. ‍‍This course is for anyone interested in learning about the Qt Widget creations with Qt Designer. To get the most out of this course, you should have some experience with Qt Widgets and understand the basic software development concepts.  Before getting started, we recommend looking at the How to Install Qt course.   Note! The material is not based on the latest Qt version, and new versions may have a different implementation. 

Learn more
  • 15min
  • basic
Qt Design Studio: Blur Effect

4.4(35)

Qt Design Studio: Blur Effect

In this video tutorial, you will learn the basic use of the blur effect from QtQuick.Effects library.  This tutorial is for Designers who want to achieve interaction and animations in their design and use the blur effect.

Learn more
  • 20min
  • basic
Getting Started with Qt for iOS

4.8(73)

Getting Started with Qt for iOS

Getting Started with Qt for iOS course covers various themes that prepare you for creating iOS apps with Qt Quick and QML.  You will learn how to: Install Qt for iOS  Configure Qt for the iOS app Create iOS UIs using Qt Quick and QML Integrate Objective-C code into the Qt app Submit the Qt app to the App Store

Learn more
  • 25min
  • basic
Getting Started with Qt for Android

4.8(134)

Getting Started with Qt for Android

This tutorial is a beginner's guide to using the Qt for Android toolchain, including the Qt Creator IDE, to get you started developing apps.  

Learn more
  • 6min
  • basic
UI Design with Qt Design Studio

NaN(undefined)

UI Design with Qt Design Studio

UI with Qt Design Studio has been designed to help you on your journey to becoming a UI designer and utilising Qt Framework to create experiences with Qt Design Studio. Throughout the courses, you will learn tips, tricks, and theories of user experience design. As well also getting hands-on with Qt Design Studio using tools for 2D, 3D, and importing content from tools such as Figma. Once you have finished, harness the skills you have learned and take the project in your own direction! FYI.me, a California-based mobile tech company founded and headed by artist and tech entrepreneur, will.i.am. FYI combines messaging and collaboration tools with file management and content publishing features to create an all-in-one experience that makes creative teams more productive. Note: This is an updated version of the previous FYI X Qt UI Learning Path. Based on feedback, we have updated the courses in some areas and made them more accessible with a new independent project at the end.

Learn more
  • 40min
  • basic
Defining Good UI Design

4.8(110)

Defining Good UI Design

Delve into the intricacies of crafting user interfaces that resonate well with the intended audience. The course emphasizes understanding users by identifying their primary problems and challenges, alongside reviewing competitive products to grasp how they achieve their objectives. Explore the importance of intuitive and familiar UI patterns through analyzing existing UI solutions, learning not to replicate but to thoughtfully adapt and incorporate successful elements, drawing inspiration from established design systems. Learn how to maintain consistency within UI design by establishing a clear design hierarchy, uniform branding elements, coherent typography, and distinct UI components, all of which contribute to creating a defined and appealing style.

Learn more
  • 40min
  • basic
Creating Your First App with Qt Design Studio

4.9(248)

Creating Your First App with Qt Design Studio

In this course, you'll learn how to create your first application with Qt. Note that you need to have Qt Design Studio installed on your computer to get the most out of this course. It has three modules: Design your application Apply logic to your first application Share your application with Qt Design Viewer

Learn more
  • 30min
  • basic
3D with Qt Design Studio

4.9(105)

3D with Qt Design Studio

In this course, you will learn the basics of how to get started with 3D UI design in Qt Design Studio. You need to have Qt Design Studio installed on your computer to get the most out of this course. You will need a laptop or a desktop computer (not a mobile device) to use Qt Design Studio.​

Learn more
  • 30min
  • intermediate
Qt Designer with KDAB

4.9(69)

Qt Designer with KDAB

Throughout this series, we'll explore tips and tricks about Qt Widget creation using Qt Designer. ‍‍This course is for anyone interested in learning about the Qt Widget creations with Qt Designer. To get the most out of this course, you should have some experience with Qt Widgets and understand the basic software development concepts.  Before getting started, we recommend looking at the How to Install Qt course.   Note! The material is not based on the latest Qt version, and new versions may have a different implementation. 

Learn more
  • 1h 15min
  • basic
Ready Set Qt

NaN(undefined)

Ready Set Qt

Ready... Set... Qt! Are you ready to get started with Qt? This learning path provides you with all the essential knowledge and skills needed to kickstart your journey. You'll begin by learning how to install, create a project, and build your application using CMake and Qt Creator. With step-by-step guidance, you can run your first application in no time. Completing this path will give you the skills and knowledge to begin your Qt journey. So, what are you waiting for? Set off on your Qt journey. Where will it take you?

Learn more
  • 15min
  • basic
Getting Started with Qt Tools for Visual Studio

4.8(571)

Getting Started with Qt Tools for Visual Studio

In this tutorial, you will install Qt Visual Studio tools, and create your first Qt Quick project with them. This tutorial is for anyone interested in writing software with Qt Tools for Visual Studio. You should have some development experience and understand the basic software development concepts to get the most out of this course.  You need to install MS Visual Studio on your computer to get the most out of this course.

Learn more
  • 20min
  • basic
Creating a Simple Qt Quick Application

4.8(461)

Creating a Simple Qt Quick Application

In this tutorial, you will build your first app with Qt using Qt Quick.  This tutorial is for anyone wanting to start their journey with Qt and learn how to build applications with Qt and Qt Quick.

Learn more
  • 6min
  • basic
Learn Qt and QML with Scythe Studio

4.9(61)

Learn Qt and QML with Scythe Studio

Throughout this series, we'll explore various concepts, build projects, and unravel the beauty of Qt. The course content includes a wide range of topics that will equip you with the necessary knowledge and skills. Click here to access the GitHub repo for the course: Scythe Studio GitHub. This material was created and is the property of Scythe Studio. It has been published on Qt Academy with their permission. Scythe Studio is a consultancy full of Qt and C++ development experts. You can contact them here. Qt Group does not own the copyrights to this material, nor is it responsible for maintaining the content.

Learn more
  • 40min
  • basic
Meet Qt

NaN(undefined)

Meet Qt

Welcome – here you will learn about Qt! In the two courses on this learning path, you will be introduced to Qt Group's product portfolio, and how these products aim to tackle common challenges in the software industry. The portfolio contains tools that go beyond design and develop, and that work seamlessly together.  This path is for anyone interested in Qt Group and the Qt or Quality Assurance technologies we offer.

Learn more
Qt Quick 3D: Lighting & Cameras

Qt Quick 3D: Lighting & Cameras

  • 2min
  • basic
  • 4.9(32)
Start Course

Course description

In this course, you will learn about lighting and cameras, which are the essential components of a 3D scene. 

This course is for 3D and technical artists with some knowledge of real-time rendering who are looking to apply their skills within the Qt Framework.

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

Change Log:

  • Updated section explaining WasdController. 

Objectives

In this course, you will learn:

  • Why is light essential in a 3D scene?
  • What are the different types of lights, and how they differ from each others?
  • What is the goal and purpose of a camera in a 3D scene?
  • What are the different types of cameras?
  • What are the most common camera controls in Qt Quick 3D?
Inter-Process Communication with Qt

Inter-Process Communication with Qt

  • 1h 5min
  • advanced
  • 4.5(2)
Start Course

Course description

This course is for anyone interested in learning about inter-process communication with Qt.

To get the most out of this course, you should understand the basic software development concepts; experience with QtCore, covering QObject, signals and slots, QJson, QProcess, and threads is required.

Note! The material is tested with Qt 5.15 and Qt 6. 

Objectives

 

This course is divided into 10 parts, covering inter-process communication with Qt. You will learn four different technologies for inter-process communication: Sockets, DBus, REST, and SOAP, and when to use each. In all of these, you will learn about the difference between asynchronous and synchronous APIs, and the effect it has on graphical applications. In the end, there's a knowledge check, where you can check what you learned.

 

***

 

This material was created and is the property of KDAB. It has been published on Qt Academy with their permission. KDAB is a globally recognized provider of software consulting, development, and training, specializing in embedded devices and complex cross-platform desktop applications. They provide deep expertise across the stack for projects using C++, Rust, Qt, QML/Qt Quick, OpenGL, Vulkan, Qt 3D, and more. KDAB experts regularly take time out to deliver world-class developer training, in-house or at open enrollment courses worldwide. You can contact them here.

Qt does not own the copyrights to this material, nor is it responsible for the content.

 

***

 

About the instructor:

The videos are presented by David Faure, who started with Qt back in 1998 in the KDE project, where he's still active. This gives him 27 years of experience with Qt. Since 2003, he has taught many Qt training courses on topics such as Qt Widgets, Multithreading, Modern C++, and Debugging/Profiling on Linux. He has made many contributions to QtCore and QtDBus and has helped numerous customers, especially with Qt multithreading issues.

 

QML for Beginners

QML for Beginners

  • 16h
  • basic
  • NaN(undefined)
Start Course

Course description

The QML for Beginners Learning Path offers a comprehensive introduction to Qt Modeling Language (QML) and its associated modules and tools. This structured series guides you through fundamental QML concepts, with each course building upon knowledge gained in previous modules.

Each course is paired with a hands-on coding challenge, allowing you to apply new skills in practical scenarios immediately. The path is designed for beginners with basic programming knowledge who want to develop applications with modern, responsive user interfaces. By completing this learning path, you will gain the skills to design, implement, and debug QML-based applications using industry best practices.

During this learning path, you will:

  • Explore the fundamentals of QML syntax, structure, and application development
  • Create responsive user interfaces using Qt Quick and Qt Quick Controls
  • Implement proper positioning and layouts for responsive designs
  • Apply the Model-View-Delegate pattern for efficient data handling
  • Adopt best practices for maintainable QML code
  • Implement animations and transitions for enhanced user experience
  • Develop debugging skills specific to QML applications
  • Build complete, functional applications using the Qt framework

Objectives

undefined
QML Debugging Basics with Qt Creator

QML Debugging Basics with Qt Creator

  • 40min
  • basic
  • 4.9(15)
Start Course

Course description

Explore the debugging tools available in Qt Creator, learning how to diagnose, troubleshoot, and resolve issues in QML applications efficiently. Through a hands-on walkthrough, you will gain practical experience using breakpoints, inspecting the call stack, where to analyze QML properties by utilizing varying views in Qt Creator.

 

If you have some QML experience and want to familiarize yourself with debugging techniques to create stable and responsive Qt Quick applications, this is a good place to start.

Objectives

In this course, you will learn:

  • How to set up and configure Qt Creator for debugging QML applications.
  • Techniques for identifying and fixing JavaScript and QML runtime errors.
  • How to set and manage breakpoints for effective step-by-step debugging.
  • Best practices for logging, inspecting object properties, and debugging bindings.
View3D Basics with Qt Design Studio

View3D Basics with Qt Design Studio

  • 1h 35min
  • basic
  • 5(4)
Start Course

Course description

In this course, you will gain a comprehensive understanding of essential concepts in creating realistic-looking 3D scenes using Qt. You'll understand the difference between View3D and Extended View3D components in Qt Design Studio and be familiar with Scene Nodes and components like Scene Environment.

This course is for users who are new to Qt Design Studio and are interested in learning its 3D features and capabilities. Before getting started, we recommend getting up to speed with the Qt Design Studio: Recapping the Basics learning path.

Objectives

In this course, you will:

  • Learn the difference between Extended View3D and View3D.
  • Get familiar with Scene Nodes.
  • Learn how to use the Scene Environment component.
  • Set up image-based lighting.
Squish  - テスト同期

Squish - テスト同期

  • 45min
  • basic
  • undefined(0)
Start Course

Course description

このコースは、言語設定で日本語を選択した方のみ受講可能です。

このコースでは、テスト自動化のために Squish を使用する場合に、テストスクリプトとテスト対象のアプリケーション (AUT) の間の同期を維持する方法を学びます。

Squishを初めて使うお客様は、https://www.qt.io/ja-jp/download-quality-assurance にアクセスして、企業向けの10日間無料評価版をお試しください。また、QtのQAツールの詳細や、https://www.qt.io/ja-jp/quality-assurance-licensing をご覧ください。

Objectives

本コースで学べること 

  • アプリケーションの実行準備が完了するのを待ってからテストの命令を確実に実行する方法
  • Squish APIの中から様々な同期関数を実装する方法とそれぞれの関数の適用シーン。
  • Qtのシグナルやイベントハンドラーシステムと通信し、テストを同期させる方法。
Getting Started with Qt Creator

Getting Started with Qt Creator

  • 20min
  • basic
  • 4.9(1315)
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
How to Expose C++ to QML

How to Expose C++ to QML

  • 30min
  • basic
  • 4.9(307)
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.
 Building with Cmake: Getting Started with CMake and Qt

Building with Cmake: Getting Started with CMake and Qt

  • 30min
  • basic
  • 4.8(721)
Start Course

Course description

In this tutorial, you will learn what CMake is and how it is used in application development with Qt. If you are a developer interested in building applications using Qt - learn CMakes power tools for building your applications.

 

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

  • Improved introduction to build systems and CMake
  • Updated video:
    • Using Qt creator 15
    • Qt 6.8.1
    • Updated voicover with clearer explanation of commands
  • Improved overview of Cmake commands:
    • Links to documentation
  • Building Widgets/QML applications:
    • Added minified examples
    • Improved Explanations
    • Added links to documentation
  • Building using the command line
  • Updated Code Snippets

Objectives

In this tutorial, you will … 

  • Learn what CMake is and how it is used in application development with Qt.
Introduction to Qt Widgets Part 6: Painting

Introduction to Qt Widgets Part 6: Painting

  • 3h 20min
  • basic
  • 4.7(3)
Start Course

Course description

This course is the sixth part of the Introduction to Qt Widgets series. 

‍‍This course is for anyone interested in learning about the Qt Widgets. To get the most out of this course, you should understand the basic software development concepts.

Before getting started, we recommend looking at the Introduction to Qt Widgets: Part 5 course.

Note! The material is made with Qt 6. 

 

It is time to shift our focus to creating custom graphics. In this module we will discuss painting in depth, which includes palettes and color groups, painting operations, coordinate transformation, and printing. We will also dedicate an episode to live coding a bar chart.

Objectives

This course is divided into 8 parts, focusing on creating custom graphics. You will learn about painting in depth, which includes palettes and color groups, painting operations, coordinate transformation, and printing. The course also has an episode about live coding a bar chart.

In the end, there's a knowledge check, where you can check what you learned.

 

***

 

This material was created and is the property of KDAB. It has been published on Qt Academy with their permission. KDAB is a globally recognized provider for software consulting, development and training, specializing in embedded devices and complex cross-platform desktop applications. They provide deep expertise across the stack for projects using C++, Rust, Qt, QML/Qt Quick, OpenGL, Vulkan, Qt 3D and more. KDAB experts regularly take time out to deliver world-class developer training, in-house or at open enrollment courses worldwide. You can contact them here.

Qt does not own the copyrights to this material, nor is it responsible for the content.

 

***

 

About the instructor:

The videos are presented by Jesper Pedersen, who started with Qt back when Qt was widgets only, and the version was 1.44, which gives him 21 years of experience with Qt. Since 2000 he has taught almost 100 Qt classes, ranging from Qt Widgets to QML. Jesper even taught a few classes on QTopia Core — Trolltech's initial attempt at creating a phone stack. Today, Jesper holds a fancy business title, but that doesn't prevent him from coding both in his job and his spare time.

QML Integration Advanced

QML Integration Advanced

  • 1h 35min
  • advanced
  • 4.8(16)
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.
Translations

Translations

  • 1h 45min
  • basic
  • 4.7(7)
Start Course

Course description

In this course, you will gain a comprehensive understanding of features that Qt contains to localize applications. Qt Quick and Qt C++ applications use the same underlying localization system, so it is possible to have translatable strings in QML and C++ source files in the same application. You'll learn how to mark the code for translation in QML and C++, how to create translation files and adapt the code to load translations into the application. Additionally, this course contains a section of CMake commands and dynamic translations.

This course is for individuals who are willing to learn about translations in Qt.

Objectives

In this course, you will:

  • Get an understanding of features that Qt contains to localize applications.
  • Learn how to mark the code for translation.

  • Learn how to create translation files and adapt the code to load translations into the application.

  • Gain comprehensive understanding of CMake commands.

  • Get an understanding of dynamic translations and how to use them.

QML Fluid Elements and Animation

QML Fluid Elements and Animation

  • 1h
  • basic
  • 4.8(17)
Start Course

Course description

Explore the power of fluid elements and animation in QML, learning how to create smooth, dynamic, and visually engaging user interfaces. This course will cover various QML animation techniques, including property animations, easing curves, behavior animations, path animations, and advanced state transitions.

By the end of the course, you will be able to implement fluid and high-performance animations that elevate the user experience in your Qt Quick applications.

This course is for developers with experience in QML who want to explore animation techniques to create fluid and interactive UIs.

Objectives

In this course, you will learn:

  • How to use PropertyAnimation to animate QML elements smoothly.
  • The impact of easing curves on animation speed and feel.
  • How to apply BehaviorAnimation for automatic transitions based on property changes.
  • How to animate elements along custom paths using PathAnimation.
  • The role of States and Transitions in building dynamic Uls.
Qt for Medical Device Software by Scythe Studio

Qt for Medical Device Software by Scythe Studio

  • 1h 35min
  • basic
  • 4.8(16)
Start Course

Course description

This course provides an in-depth exploration of using Qt for healthcare and medical device software development. While the coding fundamentals align with those in other industries, the focus is on addressing the unique challenges and topics specific to the healthcare sector.

This course is designed for CTOs, medical software founders, and development team leaders, this course equips you to tackle the technical and regulatory complexities of healthcare software. Even if you’re outside the healthcare sector, there’s valuable insight to gain into Qt development.

Objectives

In this course, you will learn:

  • Why Qt is a good pick for medical software development.
  • How to choose an embedded target for a medical device.
  • How to choose an operating system for a medical device.
  • How to approach the medical device software architecture.
  • Understand connectivity and the networking modules and which of them to use in a medical context 
  • Familiarize yourself with the DICOM viewer in a Qt Application. 
  • Understand usability and accessibility in a medical context. 

 

***

This material was created and is the property of Scythe Studio. It has been published on Qt Academy with their permission. 

Qt Group does not own the copyrights to this material, nor is it responsible for maintaining the content.

 

Scythe Studio specializes in high-quality software development, delivered on time and within budget. Their expertise with Qt, C++, QML, and advanced Linux technologies sets the company apart, making it a trusted partner for creating custom software solutions.

As a Qt service partner with an ISO 13485:2016-certified Medical Software Quality Management System (QMS), Scythe Studio is uniquely qualified for medical device development. Their solutions are crafted for embedded platforms, desktop applications, and mobile across various industries, primarily focusing on the medical sector.

Scythe commits to the open-source and Qt community, sharing free educational materials, blog articles, and other types of content, believing in the power of giving.

 

Squish - オブジェクトの識別

Squish - オブジェクトの識別

  • 1h 30min
  • basic
  • 5(1)
Start Course

Course description

このコースは、言語設定で日本語を選択した方のみ受講可能です。

このコースでは、Squishオブジェクトマップを使用してAUTのオブジェクトを操作する方法を学びます。

Squishを初めて使うお客様は、https://www.qt.io/ja-jp/download-quality-assurance にアクセスして、企業向けの10日間無料評価版をお試しください。また、QtのQAツールの詳細や、https://www.qt.io/ja-jp/quality-assurance-licensing をご覧ください。

Objectives

本コースで学べること

  • Squishのオブジェクトマップについて

  • オブジェクトマップの作成と編集方法

  • オブジェクトマップに登録されたオブジェクトの操作

  • Squishのオブジェクト名生成方法

  • オカレンスとは何か、またその回避方法

Intoduction to Qt Widgets: Part 5

Intoduction to Qt Widgets: Part 5

  • 4h 45min
  • basic
  • 4.3(3)
Start Course

Course description

This course is the fifth part of the Introduction to Qt Widgets series. 

‍‍This course is for anyone interested in learning about the Qt Widgets. To get the most out of this course, you should understand the basic software development concepts.

Before getting started, we recommend looking at the Introduction to Qt Widgets: Part 4 course.

Note! The material is made with Qt 6. 

 

Core Classes

In this module you will learn about some of the classes that make the glue in Qt. Included are: String handling, working with regular expressions, file handling, the property system in Qt, and finally the class QVariant which plays an important role in many places.

Objectives

This course is divided into 6 parts, each focusing on key programming concepts and tools. You will explore a class called QString, delve into the Qt support for regular expressions, and learn how to work with container classes. Additionally, the course covers file handling, a class called QVariant, and properties in Qt Widgets. 

In the end, there's a knowledge check, where you can check what you learned.

 

***

 

This material was created and is the property of KDAB. It has been published on Qt Academy with their permission. KDAB is a globally recognized provider for software consulting, development and training, specializing in embedded devices and complex cross-platform desktop applications. They provide deep expertise across the stack for projects using C++, Rust, Qt, QML/Qt Quick, OpenGL, Vulkan, Qt 3D and more. KDAB experts regularly take time out to deliver world-class developer training, in-house or at open enrollment courses worldwide. You can contact them here.

Qt does not own the copyrights to this material, nor is it responsible for the content.

 

***

 

About the instructor:

The videos are presented by Jesper Pedersen, who started with Qt back when Qt was widgets only, and the version was 1.44, which gives him 21 years of experience with Qt. Since 2000 he has taught almost 100 Qt classes, ranging from Qt Widgets to QML. Jesper even taught a few classes on QTopia Core — Trolltech's initial attempt at creating a phone stack. Today, Jesper holds a fancy business title, but that doesn't prevent him from coding both in his job and his spare time.

Model and Views in Qt Quick

Model and Views in Qt Quick

  • 1h 35min
  • basic
  • 4.9(21)
Start Course

Course description

In this course, you will gain a comprehensive understanding of the most used QML model types, views and how to interact with them. Models in QML are built using one of the QML model types. There are collections of different model types available, however the most used model types are ListModel, TableModel, and ObjectModel. This course will guide you through the basics of ListModel/ListView and TableModel/TableView and how to effectively interact with them. Finally, you'll learn more about TreeView and ObjectModel

This course is for individuals who are looking to get a better understanding in Model-View-Controller (MVC) design philosophy.

Objectives

In this course, you will: 

  • Learn what delegates are and how to create them.
  • Get an understanding of different kinds of views.
  • Learn how to interact with QML ListModel/ListView and TableModel/TableView.
  • Get basic understanding of QML Tree Models.

Qt Design Studio: Recapping the Basics

Qt Design Studio: Recapping the Basics

  • 1h 45min
  • basic
  • NaN(undefined)
Start Course

Course description

In this learning path, you will get a comprehensive understanding of Qt Design Studio UI, its tools and different workspaces. You'll also familiarize yourself with various topics from properties, components and assets to QML project structure and finally to creating additional screens and animations to them. This learning path consists of four courses. 

This learning path is for people new to Qt Design Studio. To get most out of it, we recommend to have a basic knowledge on design tools and how they work.

Objectives

undefined
QML Best Practice

QML Best Practice

  • 1h 30min
  • basic
  • 4.9(37)
Start Course

Course description

Dive into the essential best practices for writing robust, maintainable, high-performance QML code. This course will equip you with actionable insights and practical examples to elevate your projects and gain a comprehensive understanding of how to write clean, error-resistant QML and leverage advanced language features effectively.

Objectives

In this course, you will:

  • Master using strongly typed properties to improve code clarity and reduce runtime errors.
  • Learn strategies to avoid pitfalls like unqualified access and understand how it impacts maintainability and performance.
  • Explore effective ways to integrate JavaScript into QML while adhering to best practices for safety and efficiency
  • Implement declarative programming paradigms, minimizing imperative programming constructs to make Uls more predictable and maintainable.
  • Understand the nuances of handling bindings, property updates, and component encapsulation in QML.
Qt DataVisualization to Qt Graphs

Qt DataVisualization to Qt Graphs

  • 25min
  • intermediate
  • 5(7)
Start Course

Course description

Learn how to migrate applications from the Qt DataVisualization Module to the Qt Graphs Module. Focusing on the practical steps required for migration, we'll guide you through key changes in CMake configurations, code, and asset handling. By the end of this course, you'll have a solid understanding of how to successfully transition your 3D application and leverage the enhanced features of Qt Graphs

It does not cover the 2D offering of Qt Graphs. The tutorial is ideal for those familiar with the Qt Framework, C++, QML, and CMake.

Objectives

In this tutorial, you will:

  • Understand how to update CMake configurations for Qt Graphs.
  • Learn how to modify QML files to accommodate changes in imports, properties, and types.
  • Utilize 3D assets and convert them to the format used by Qt Quick 3D.
  • Understand the enhancements in Qt Graphs.
Multiple Screens in Qt Design Studio

Multiple Screens in Qt Design Studio

  • 50min
  • basic
  • 4.8(44)
Start Course

Course description

In this course, you'll learn how to create additional screens in Qt Design Studio. By the end of this course, you will also have an understanding on how to add transitions, animations and logic and view the outcome in Qt Design Studio.

This tutorial is for people new to Qt Design Studio. To get most out of the course, we recommend to have a basic knowledge on design tools and how they work.

Objectives

In this course, you will learn how to use multiple screens when working with Qt Design Studio. You will:

  • Learn how to create additional screens and transitions from one screen to another.
  • Learn how to add easing curves.
  • Learn how to view the outcome.
Project Structure in Qt Design Studio

Project Structure in Qt Design Studio

  • 20min
  • basic
  • 4.8(152)
Start Course

Course description

In this course, you'll get a basic understanding of the QML project structure and learn the difference between declarative and imperative programming styles. You'll also familiarize yourself with App.qml and UI files, and learn how to change different settings with Constants.qml file. 

This tutorial is for people new to Qt Design Studio. To get most out of the course, we recommend to have a basic knowledge on design tools and how they work. You don't need coding experience, however, any knowledge on CSS (Cascading Style Sheets) will help you.

Objectives

In this course, you will learn basics of the QML Project Structure used when working with Qt Design Studio. You will:

  • Learn the difference between declarative and imperative programming styles.
  • Familiarize yourself with App.qml and UI files (.ui.qml).
  • Learn how to change screen sizes and other settings with using Constants.qml file.
Fundamental Concepts in Qt Design Studio

Fundamental Concepts in Qt Design Studio

  • 20min
  • basic
  • 4.8(105)
Start Course

Course description

In this course, you'll get a better understanding of different properties and familiarize yourself with components and assets. You'll also learn, how to use the states view in Qt Design Studio. 

This tutorial is for people new to Qt Design Studio. To get most out of the course, we recommend to have a basic knowledge on design tools and how they work. You don't need coding experience, however, any knowledge on CSS (Cascading Style Sheets) will help you.

Objectives

In this course, you will learn the Fundamental Concepts of the Qt Design Studio Workspace. You will:

  • Learn how to use different properties in Qt Design Studio.
  • Familiarize yourself with components and assets.
  • Get to know, how to use the states view.
Basic Views in Qt Design Studio

Basic Views in Qt Design Studio

  • 15min
  • basic
  • 4.8(97)
Start Course

Course description

In this course, you'll get a basic understanding of Qt Design Studio UI, its tools and different workspaces. By the end of this course, you will have an understanding on how to navigate in Qt Design Studio. 

This tutorial is for people new to Qt Design Studio. To get most out of the course, we recommend to have a basic knowledge on design tools and how they work.

Objectives

In this course, you will learn the basics of the Qt Design Studio Workspace. You will:

  • Familiarize yourself with Qt Design Studio UI.
  • Know the different workspaces and how to switch between them.
  • Learn Qt Design Studio’s essential tools and their location.
Qt Group 产品

Qt Group 产品

  • 15min
  • basic
  • 5(11)
Start Course

Course description

这门课程适用于选择中文作为课程首选语言的用户。

在本课程中,您将了解 Qt 集团提供的产品及其主要用例。

本课程适用于任何对 Qt 公司及其产品感兴趣的人。

 

本课程于 2024 年 12 月更新,删除了 Qt 集团不再提供的产品。

Objectives

学完这门课程后,您可以回答这些问题:

Qt 集团的各种产品面向哪些用户?

每种产品的主要优点和使用案例是什么?

Qt Group Products

Qt Group Products

  • 15min
  • basic
  • 4.8(730)
Start Course

Course description

In this course, we go through Qt's product portfolio and the main use cases for each product in order to give you real-life examples.

This course is for anyone interested in Qt Group, Qt Framework or Quality Assurance technologies we offer.

 

This course was updated in December 2024 to remove products no longer offered by Qt Group.

Objectives

You will learn:

  • Who are The Qt Groups various products for?
  • What are the main benefits and use cases for each product?
Model View Delegate with QML

Model View Delegate with QML

  • 1h 35min
  • basic
  • 4.8(56)
Start Course

Course description

In this course, you will explore the Model View Delegate pattern within QML and the Qt framework. You will gain the skills to handle complex data models and present them effectively within your applications. This course will provide a hands-on understanding of the key elements of Models, Views, and Delegates and the interaction between Qt Types.

By the end of this course, you will have developed a functional weather application that demonstrates real-time data interaction through the MVD pattern.

Objectives

You will learn:

  • To use QML andunderstand the relationship between Models, Views, and Delegates in the Qt framework.
  • How to manage and display dynamic data in a structured format using built-in models.
  • Become proficient in creating custom views and delegates to display complex data efficiently.
  • How to develop a real-world project integrating live weather data into a user-friendly interface.
Squish - Object Identification

Squish - Object Identification

  • 1h 30min
  • basic
  • 4.8(91)
Start Course

Course description

Begin your journey to understand how to take the complexity out of testing graphical user interfaces and human-machine interfaces by getting to know Squish and how to test applications. During the course, we will explore object maps, how to create and edit them, and how to interact with objects that are registered in the object map. Additionally, we will go through object name generation and learn about occurrences and how to avoid them in Squish.

If you are new to Squish - head to qt.io/download to experience Squish for a 10-day free evaluation for businesses. If you want to learn more about Qt's QA tools, click here for more information on commercial pricing and licensing.

Objectives

During the course, you will learn:

  • What is an object map in Squish, and what are its naming schemes?
  • How to create and edit object maps?
  • How do you interact with objects that are registered into the object map?
  • What is object name generation in Squish and how it works?
  • What are occurrences and how to avoid them?
Creating Responsive Layouts in QML with LayoutItemProxy

Creating Responsive Layouts in QML with LayoutItemProxy

  • 1h 30min
  • basic
  • 4.9(18)
Start Course

Course description

In this course you will learn about Proxy Layouts which is one of the techniques that allows you to implement responsive layouts in QML. We will kick off the course with short introduction to the principles of responsive layout development, get familiar with the LayoutItemProxy class and then proceed with practical examples of using it in different scenarios.

 

This course is for you if you want to learn more about latest techniques of UI development with QML.

Objectives

In this course you will learn:

  • What a responsive UI layout is?

  • What a proxy layout is?

  • What LayoutItemProxy type is?

  • How to use LayoutItemProxy?

  • How to implement responsive controls using proxy layouts?

  • How to implement responsive UI using proxy layouts?

 

***

This material was created and is the property of Spyrosoft. It has been published on Qt Academy with their permission. 

Spyrosoft has a proven track record of delivering successful Qt projects to clients across different industries. Whether you need help with Qt/QML application development, Qt 3D, or any other project connected to Qt technologies, our experts are ready to tackle any challenge. You can contact them here.

Qt does not own the copyrights to this material, nor is it responsible for the content.
 

***

About the instructor:
This course was created by Jan Kies, Lead HMI developer at Spyrosoft. He is specialized in the development of Qt-based software with focus on QML applications. He believes that the core of an IT specialist is not just pure technological knowledge, but a combination of many skills that can be used together to achieve goals. That is why in his work, he doesn't only deal with code but also staff training, requirements analysis, co-creating marketing content and searching for new solutions to existing problems.

 

Let's Get Thready! Multithreading with Qt

Let's Get Thready! Multithreading with Qt

  • 1h 30min
  • intermediate
  • 4.9(118)
Start Course

Course description

Explore multithreading concepts and basic concurrency within the context of building GUI applications with Qt. We will go through some basic concepts of concurrent programming and how these are implemented within Qt. You will explore these multithreading concepts with Qt within an example application provided.

 

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

Objectives

In this course, you will:

  • Understand the concept of multithreading and how it can be used to improve the performance of applications.
  • Learn how to create threads in a Qt application.
  • Learn how to manage threads in a Qt application.
  • Understand how to use a thread pool to manage threads for background computing.
How to Install Qt

How to Install Qt

  • 10min
  • basic
  • 4.9(1693)
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 October 2024 to continually improve course content and address feedback from the Qt Community.

Objectives

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

Positioners and Layouts

Positioners and Layouts

  • 1h 35min
  • basic
  • 5(65)
Start Course

Course description

In this course, you will explore a range of methods to arrange and size visual items within your applications effectively. You’ll start with basic techniques using anchors and gradually progress to more advanced layout methods, ensuring your user interface works seamlessly across various screen sizes and devices.

Objectives

You will learn:

  • How to use anchors to position visual elements in my application, and the limitations.
  • The benefits and limitations of using Positioners like Row, Column, Grid, and Flow.
  • How Layouts differ from Positioners, and how can they help manage item sizing and alignment.
  • What strategies to use when creating a responsive layout that adapts to various screen sizes.
QML Integration Intermediate

QML Integration Intermediate

  • 1h
  • intermediate
  • 4.7(77)
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?
Squish - 基本的な使い方

Squish - 基本的な使い方

  • 45min
  • basic
  • 5(2)
Start Course

Course description

このコースは、言語設定で日本語を選択した方のみ受講可能です。

本コースでSquishを使ったアプリケーションのテスト方法を学ぶことにより、複雑なグラフィカルユーザーインターフェイスとヒューマンマシンインターフェイスのテストをより簡単に実施できるようになります。

Squishを初めて使うお客様は、https://www.qt.io/ja-jp/download-quality-assuranceにアクセスして、企業向けの10日間無料評価版をお試しください。また、QtのQAツールの詳細や、https://www.qt.io/ja-jp/quality-assurance-licensing をご覧ください。

Objectives

本コースで学べること

  • Squish IDEでテスト中のアプリケーションを管理する方法。
  • Squish IDEで新しいテストを作成する方法。
  • 検証ポイントを使用してGUIオブジェクトを検証する方法。
Qt Tips

Qt Tips

  • 5min
  • basic
  • 4.7(26)
Start Course

Course description

Qt Tips are a series of short-form videos aimed at helping you speed up your development workflow. Whether you are using Qt Creator or Qt Design Studio for your project, there is something for everyone to explore to make their development process more efficient. New Qt Tips will be released periodically, so make sure to come back and check out if there is something that can help you customize your workflow.

Objectives

In these videos, you will explore:

  • Features or workflows to improve your development.
  • How to customize your development environment.
  • Getting to grips with powerful tools within the Qt Design and Development ecosystem.
Introduction to Qt Widgets: Part 4

Introduction to Qt Widgets: Part 4

  • 1h 10min
  • basic
  • 4.9(22)
Start Course

Course description

This course is the fourth part of the Introduction to Qt Widgets series. 

‍‍This course is for anyone interested in learning about the Qt Widgets. To get the most out of this course, you should understand the basic software development concepts. 

Before getting started, we recommend looking at the Introduction to Qt Widgets: Part 3 course.

Note! The material is made with Qt 6. 

 

Toplevel Windows

In Qt, there are two classes representing a top level window, namely QMainWindow (which has support for menubars, toolbars, etc), and QDialog which can be modal. Learn about both classes in this module, plus get an overview of the existing dialogs which you may use out of the box.

 

 

Objectives

The course is divided into 3 parts, focusing on dialogs and main windows. You’ll learn what are modal and modeless dialogs and when to use them. Also, you’ll familiarize yourself witht the most common premade dialogs. Lastly, you’ll learn about QMainWindow and all the part needed to create an main window for your application, namely toolbars, docking widgets, a menu bar, and menus.

In the end, there's a knowledge check, where you can check what you learned.

 

***

 

This material was created and is the property of KDAB. It has been published on Qt Academy with their permission. KDAB is a globally recognized provider for software consulting, development and training, specializing in embedded devices and complex cross-platform desktop applications. They provide deep expertise across the stack for projects using C++, Rust, Qt, QML/Qt Quick, OpenGL, Vulkan, Qt 3D and more. KDAB experts regularly take time out to deliver world-class developer training, in-house or at open enrollment courses worldwide. You can contact them here.

Qt does not own the copyrights to this material, nor is it responsible for the content.

 

***

 

About the instructor:
The videos are presented by Jesper Pedersen, who started with Qt back when Qt was widgets only, and the version was 1.44, which gives him 21 years of experience with Qt. Since 2000 he has taught almost 100 Qt classes, ranging from Qt Widgets to QML. Jesper even taught a few classes on QTopia Core — Trolltech's initial attempt at creating a phone stack. Today, Jesper holds a fancy business title, but that doesn't prevent him from coding both in his job and his spare time.

QML Modules

QML Modules

  • 45min
  • basic
  • 4.9(122)
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 October 2024 to continually improve course content and address feedback from the Qt Community.

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?
Getting Started With Qt Creator 13

Getting Started With Qt Creator 13

  • 20min
  • basic
  • 4.8(46)
Start Course

Course description

Note: Qt Creator 14 is now available - please go here to start your Qt journey with the newer course!

 

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.

You will need a laptop or a desktop computer (not a mobile device) to use Qt Creator. 

Objectives

In this course, you will … 

  • Launch Qt Creator IDE and explore its basic views
  • Create a new project to try out basic functionalities
Introduction to Design Thinking

Introduction to Design Thinking

  • 30min
  • basic
  • 4.8(304)
Start Course

Course description

In the Introduction to Design Thinking course, you will learn about the common challenges that users face daily, which are often overlooked, and how the Design Thinking process can contribute to solving these issues. The course covers universal principles of design and design psychology, delving into gestalt principles such as proximity, similarity, continuity, closure, and symmetry. You will explore how visual structure and hierarchy affect understanding and address the limitations of memory and attention spans with strategies to mitigate these issues. Additionally, the course highlights factors that enhance learning and accelerate the grasp and usage of user interfaces, providing examples of utilizing Design Thinking to improve User Experience (UX).

Objectives

In this course, you will … 

  • Gain an understanding of basic usability issues
  • Find out more about User-Centered Design
  • See examples of how the design process works
  • Learn to apply basic design thinking, design psychology and best practices to improve products
Get to Know Qt Licensing

Get to Know Qt Licensing

  • 55min
  • basic
  • NaN(undefined)
Start Course

Course description

Throughout this learning path, you will take a deep dive into Qt’s licensing.

The first course focuses on the dual licensing of Qt designer and developer tools and framework. The course covers key aspects and differences between open source and commercial licensing.

The second course covers the Qt Community Edition, the Open Source version of Qt developer framework and tools. 

In the third course you’ll learn about Qt’s Distribution licenses which are particularly relevant for those with Qt for Device Creation (DC) developer licenses or considering purchasing such licenses.

 

Objectives

undefined
QML Integration Basics

QML Integration Basics

  • 45min
  • basic
  • 4.8(136)
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 October 2024 to continually improve course content and address feedback from the Qt Community.

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?
 QML入門

QML入門

  • 1h 30min
  • basic
  • 4.9(8)
Start Course

Course description

このコースは、言語設定で日本語を選択した方のみ受講可能です。

このコースでは、QML の魅力的な世界を探求し、視覚的にリッチでインタラクティブなアプリケーションを作成するための多くの利点を学習します。

このコースは、新しい Ul デザイン技術をツールキットに加えたい開発者や、Ulデザインのアイデアを実現したいデザイナーのためのコースです。

このコースを受講する前に、Ready, Set, Qt!ラーニングパスでQtエンジンを起動することをお勧めします。

このコースを修了すると、QML の構文、概要、機能を理解し、アプリケーションで QML を使用できるようになります。

Objectives

何を学ぶか?

  • QML とは?
  • なぜ QML を使うのか?
  • QML の構文
  • QML の コンセプト
  • QML はどのように構成するか?
  • QML の UI はどのように構成するか?
How to Create a Support Request?

How to Create a Support Request?

  • 10min
  • basic
  • 4.7(17)
Start Course

Course description

This tutorial is for commercial customers and partners.

Before getting started, we recommend taking a look at Qt Group Products course.

Objectives

In the video tutorial, you will learn how to create a support request for any Qt Group product.

Test Results

Test Results

  • 40min
  • basic
  • 4.7(33)
Start Course

Course description

In this course, you will explore how to import and view test results in Squish Test Center using a variety of methods from uploading via command line to manual testing.

If you are new to Squish - head to qt.io/download to experience Squish for a 10-day free evaluation for businesses. If you want to learn more about Qt's QA tools, click here for more information on commercial pricing and licensing.

Objectives

You will learn:

  • The fundamental elements of how to get started with Squish Test Center.
  • The different views in the Squish Test Center UI.
  • How to upload test results from the Squish IDE.
  • How to upload test results from the Squish Test Center Ul.
  • How to upload test results from the command line.
  • How to manually conduct tests in Squish Test Center.
Introduction to Qt Widgets: Part 3

Introduction to Qt Widgets: Part 3

  • 2h 40min
  • basic
  • 4.8(32)
Start Course

Course description

This course is the third part of the Introduction to Qt Widgets series. 

‍‍This course is for anyone interested in learning about the Qt Widgets. To get the most out of this course, you should understand the basic software development concepts. 

Before getting started, we recommend looking at the Introduction to Qt Widgets: Part 2 course.

Note! The material is made with Qt 6. 

 

The whirlwind tour + in depth layout management

This module will start out with introducing you to the obvious use cases of the common widgets in Qt, but also the not so obvious one. After four episodes of widgets, we will turn our focus to layout management. It's time to understand all the gritty details, like stretching, size hints, size policy, and more.

Objectives

The course is divided into 9 parts, introducing different widgets and layout management. Additionally you’ll learn how to create custom widgets, and to use input validation. As a final step of the course you'll explore how to compile resources into your binary and why this is important.

In the end, there's a knowledge check, where you can check what you learned.

 

***

 

This material was created and is the property of KDAB. It has been published on Qt Academy with their permission. KDAB is a globally recognized provider for software consulting, development and training, specializing in embedded devices and complex cross-platform desktop applications. They provide deep expertise across the stack for projects using C++, Rust, Qt, QML/Qt Quick, OpenGL, Vulkan, Qt 3D and more. KDAB experts regularly take time out to deliver world-class developer training, in-house or at open enrollment courses worldwide. You can contact them here.

Qt does not own the copyrights to this material, nor is it responsible for the content.

 

***

 

About the instructor:
The videos are presented by Jesper Pedersen, who started with Qt back when Qt was widgets only, and the version was 1.44, which gives him 21 years of experience with Qt. Since 2000 he has taught almost 100 Qt classes, ranging from Qt Widgets to QML. Jesper even taught a few classes on QTopia Core — Trolltech's initial attempt at creating a phone stack. Today, Jesper holds a fancy business title, but that doesn't prevent him from coding both in his job and his spare time.

Qt Community Edition in Depth

Qt Community Edition in Depth

  • 25min
  • intermediate
  • 4.8(51)
Start Course

Course description

In this course, you will explore the licensing requirements for Qt Community Edition, the Open Source version of Qt developer framework and tools.

This course is for users interested in using Qt Community Edition and independent developers who can meet the requirements and obligations associated with open source software.

Before getting started, we recommend taking a look at the Qt Licensing  for Designer & Developer Offerings. It will help you understanding the commercial licensing of Qt Developer Framework and Tools, thus puts the open source offering in a perspective and helps in understanding the differences in offerings.

Please note! This is not a legal training and does not constitute as legal advice for using open source. 

Objectives

After this course, you will understand:

  • What is an open source license and when can you utilise it?
  • What kind of open source licenses exist and which are used by Qt?
  • What freedoms can open source licensing bring?
  • What are the obligations of open source licensing?
Getting Started: Qt for MCUs

Getting Started: Qt for MCUs

  • 30min
  • intermediate
  • 5(104)
Start Course

Course description

In this course, you'll get an overview of what Qt for MCUs is, and why use it. You will create your first project with Qt for MCUs: a simple heartbeat monitor. We will create a graphic user interface, build a backend, and deploy it to a target.

This course is for people interested in developing on microcontrollers (MCUs). We recommend that you have previous knowledge of Qt as we'll be using Qt Design Studio and Qt Creator.

You need to have Qt for MCUs installed on your computer to get the most out of this course. Qt for MCUs is available on Qt for Device Creation license package.
 

▶️ For the case project, you can use any supported target board or use the Desktop kit to emulate a board on your computer.

Objectives

In this course, you will learn:

  • When to use microcontrollers, and what are the current trends in the MCU market?
  • What is Qt for MCUs?
  • How to build a project with Qt for MCUs?
Introduction to Qt Quick Controls

Introduction to Qt Quick Controls

  • 1h 5min
  • basic
  • 4.9(110)
Start Course

Course description

Dive in and learn the power of Qt Quick Controls. Introduction to Qt Quick Controls is a comprehensive look into application development using the Qt Quick Controls module, an extensive library of UI elements for building applications quickly. 

In this course, you will apply your knowledge of QML and Qt Quick by exploring the Qt Quick Controls module and its basic types to create user interfaces by creating a simple application. Using the provided assets, you will learn the anatomy of Control, explore the Qt Quick controls Basic Style, and position the components using layouts.

This course is for people who want to start their journey with QML and the Qt Quick Controls Module, building a foundation to create rich, interactive user interfaces for their applications. This is a great place to start if you have some fundamental programming understanding, primarily JavaScript.

Objectives

In this course, you will learn:

  • What are Qt Quick Controls?
  • What properties are shared between Controls?
  • How can you define the layout of elements within your applications?
  • How do you use the basic Qt Quick Controls style?
  • How can you simply style your components?
  • How do you define your QML types with a QML file?
Getting Started with Qt for Python

Getting Started with Qt for Python

  • 30min
  • basic
  • 4.8(84)
Start Course

Course description

In this course, you will learn to install Qt for Python and create new Qt Widget and Simple Quick Applications. Additionally, you will familiarize yourself with the deployment tool for Qt for Python.

This course is for Python users who are new to PySide6 and Qt. You will get the most out of the course if you already know some Python basics and command line notions. 

Before getting started, we recommend taking a look at the Ready, Set Qt learning path.

Objectives

During this course, you will learn: 

  • Quick start to Qt for Python.
  • Creating a simple Qt Quick Application.
  • Creating a Simple Qt Widget Application.
  • Using the deployment tool for Qt for Python.
设计者和开发者产品的 Qt 许可

设计者和开发者产品的 Qt 许可

  • 20min
  • basic
  • 5(6)
Start Course

Course description

这门课程适用于选择中文作为课程首选语言的用户。

在本课程中,我们将讲解 Qt 设计器和开发工具及框架的双重许可。课程涵盖开源许可和商业许可的主要方面和区别。

本课程适合那些希望了解何时以及为何选择开源与商业 Qt 许可的人。

Objectives

学完这门课程后,您可以回答这些问题:

  • Qt 开源和商业许可包含哪些内容?它们的区别是什么?
  • 使用 Qt 开源时有哪些自由和义务?
  • 使用 Qt 商业版有哪些好处?
2D with Qt Design Studio

2D with Qt Design Studio

  • 1min
  • basic
  • 4.9(178)
Start Course

Course description

In this course, we go through the fundamentals of composing a 2D user interface with Qt Design Studio.

You need to have Qt Design Studio installed on your computer to get the most out of this course. You will need a laptop or a desktop computer (not a mobile device) to use Qt Design Studio.​

Objectives

In this course, you will … 

  • Be using ready-made components and also creating one of your own
  • Get familiar with Design Studio's basic elements in practice
Providing Models from C++ to QML

Providing Models from C++ to QML

  • 2h
  • basic
  • 4.7(52)
Start Course

Course description

In this course, you will explore the basics of Model/View Programming in Qt and QML. You will understand the Model/View architecture, the concepts involved, and how the data is exposed from C++ and presented to a user with QML. This is an important topic as integrating C++ and QML effectively unlocks the potential to create robust, efficient, and visually stunning applications.

This course is for developers who want to learn best practices on how to get C++ to talk to QML.

Objectives

In this course you will learn:

  • What is the Model/View Programming in Qt/QML?
  • What Models and Views Qt offers?
  • How to create custom C++ models?
  • How to access C++ Models from the QML?
  • What are Proxy models?


***

This material was created and is the property of Spyrosoft. It has been published on Qt Academy with their permission. 

Spyrosoft has a proven track record of delivering successful Qt projects to clients across different industries. Whether you need help with Qt/QML application development, Qt 3D, or any other project connected to Qt technologies, our experts are ready to tackle any challenge. You can contact them here.

Qt does not own the copyrights to this material, nor is it responsible for the content.
 

***

About the instructor:
This course is created by Piotr Tański, Principal HMI Software Engineer at Spyrosoft. He is a seasoned Software Engineer with extensive expertise in C++, Qt, QML and related technologies. With over a dozen years of experience, he has advanced knowledge in software engineering, from requirements analysis, architecture, and development to testing. He has led teams of software engineers to product releases to the market, and contributed to the design as an architect and developed software on his own.

Introduction to Qt Quick

Introduction to Qt Quick

  • 1h
  • basic
  • 4.9(195)
Start Course

Course description

Dive in and begin your journey of learning the foundations of interactive UI creation with Qt Quick. Introduction to Qt Quick is a comprehensive look into application development using QML and JavaScript. 

In this course, you will discover how to set up your project, create a basic UI canvas with imported assets, create and utilize custom components, handle user input, and integrate more complex interactions using JavaScript.

This course is for people who want to start their journey with QML and the Qt Quick Module, building a foundation to create rich, interactive user interfaces for their applications. If you have some fundamental understanding of programming, especially JavaScript, this is a great place to start.

Objectives

In this course, you will learn:

  • What is Qt Quick?
  • How can you utilize external resources in a Qt Quick Application?
  • What are some of the common Qt Quick Types?
  • How do you position objects relative to each other?
  • How do you create reusable components with common properties?
  • How do you use custom fonts?
  • How can you handle mouse or touch input?
  • How can you extend the functionality of a QML application using JavaScript?
Page Object Model in Squish

Page Object Model in Squish

  • 1h
  • basic
  • 4.7(20)
Start Course

Course description

In this course, you will learn how to approach the management of objects in your tests using the Page Object Model in Squish. This is important to know as adapting the Page Object Model in Squish unlocks the potential to create robust, efficient, and easy-to-maintain tests of your application. 
 

This course is for software testers, QA engineers, and developers interested in automated testing who have a basic understanding of Python.

Objectives

In this course you will learn:

  • What is a Page Object Model pattern?
  • How to structure your pages with UI elements and interactions in Squish?
  • How to define page objects?

  • How to implement a test script using the Page Object Model?

  • How to easily rename locators in all related files?

  • How to share page objects between other test suites?
     

***
This material was created and is the property of Spyrosoft. It has been published on Qt Academy with their permission. 

Spyrosoft has a proven track record of delivering successful Qt projects to clients across different industries. Whether you need help with Qt/QML application development, Qt 3D, or any other project connected to Qt technologies, our experts are ready to tackle any challenge. You can contact them here.

Qt does not own the copyrights to this material, nor is it responsible for the content.

***
About the instructor: 
The course is created by Patryk Adamski, Senior QA Automation Software Engineer at Spyrosoft. He is a new technologies enthusiast who loves working on solutions that simplify our lives. His favorite projects are those with a strong emphasis on user experience. He is passionate about assuring quality in software development, and his expertise focuses mainly on the automotive (embedded systems in a car), telecom, and medical industries.

Getting Started with Qt Design Studio

Getting Started with Qt Design Studio

  • 30min
  • basic
  • 4.9(607)
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
Automated Testing with Squish

Automated Testing with Squish

  • 7h 20min
  • basic
  • NaN(undefined)
Start Course

Course description

 

Build a fundamental understanding of automated GUI testing with Squish. Create, manage, and execute automated tests for software applications with practical examples. Start with configuring the testing environment and understanding the role of the Squish IDE when creating tests. Explore the tools to record and verify tests. You will look at different ways to test applications, from using external data to building Behavior-Driven testing for agile development. By the end of the learning path, you will be well-equipped to utilize Squish for building your test suites; enhancing software quality and reliability through efficient automation strategies.

Objectives

undefined
Squish - Advanced Test Execution

Squish - Advanced Test Execution

  • 40min
  • basic
  • 4.9(45)
Start Course

Course description

In this course, you will explore in detail the processes of GUI testing in Squish, focusing on its architecture, command-line execution, tagging, and report generation features, enhancing your proficiency in distributed testing environments and various testing scenarios.

If you are new to Squish - head to qt.io/download to experience Squish for a 10-day free evaluation for businesses. If you want to learn more about Qt's QA tools, click here for more information on commercial pricing and licensing.

Objectives

You will learn:

  • To understand the fundamental elements and their processes used to perform testing with Squish.
  • How to run tests from the command line.
  • How to execute tests by using tags.
  • How to generate reports from test results.
Introduction to Qt Widgets: Part 2

Introduction to Qt Widgets: Part 2

  • 2h 15min
  • basic
  • 4.8(49)
Start Course

Course description

This course is the second part of the Introduction to Qt Widgets series. 

‍‍This course is for anyone interested in learning about the Qt Widgets. To get the most out of this course, you should understand the basic software development concepts. 

Before getting started, we recommend looking at the Introduction to Qt Widgets: Part 1 course.

Note! The material is made with Qt 6. 

 

Qt Designer

In this course, we are using Qt Designer. It is the Qt tool for designing and building graphical user interfaces (GUIs) with Qt Widgets. You can compose and customise your windows or dialogues in a what-you-see-is-what-you-get (WYSIWYG) manner and test them using different styles and resolutions.

Widgets and forms created with Qt Designer integrate seamlessly with programmed code, using Qt's signals and slots mechanism so that you can easily assign behaviour to graphical elements. All properties set in Qt Designer can be changed dynamically within the code. Furthermore, features like widget promotion and custom plugins allow you to use your own components with Qt Designer. 

You can find more detailed info about the Qt Designer from the documentation

Note: You have the option of using Qt Quick and Qt Design Studio for user interface design rather than widgets. It is a much easier way to write many kinds of applications. It enables a completely customisable appearance, touch-reactive elements, and smooth animated transitions, taking advantage of hardware acceleration.

Objectives

The course is divided into 7 parts, focusing on Qt Designer. You'll learn to navigate in Qt Designer, connect your user interface with the C++ code, and make your application more keyboard-friendly. Additionally, you'll explore how to get your custom widgets into Qt Designer.

In the end, there's a knowledge check, where you can check what you learned.

 

***

 

This material was created and is the property of KDAB. It has been published on Qt Academy with their permission. KDAB is a globally recognized provider for software consulting, development and training, specializing in embedded devices and complex cross-platform desktop applications. They provide deep expertise across the stack for projects using C++, Rust, Qt, QML/Qt Quick, OpenGL, Vulkan, Qt 3D and more. KDAB experts regularly take time out to deliver world-class developer training, in-house or at open enrollment courses worldwide. You can contact them here.

Qt does not own the copyrights to this material, nor is it responsible for the content.

 

***

 

About the instructor:
The videos are presented by Jesper Pedersen, who started with Qt back when Qt was widgets only, and the version was 1.44, which gives him 21 years of experience with Qt. Since 2000 he has taught almost 100 Qt classes, ranging from Qt Widgets to QML. Jesper even taught a few classes on QTopia Core — Trolltech's initial attempt at creating a phone stack. Today, Jesper holds a fancy business title, but that doesn't prevent him from coding both in his job and his spare time.

Squish -  Advanced Hooking

Squish - Advanced Hooking

  • 40min
  • basic
  • 4.9(43)
Start Course

Course description

In this course, you will learn about advanced hooking in Squish by familiarizing yourself with the concept of application context, learning how to test multiple AUTs and attach to running AUTs. 

If you are new to Squish - head to qt.io/download to experience Squish for a 10-day free evaluation for businesses. If you want to learn more about Qt's QA tools, click here for more information on commercial pricing and licensing.

Objectives

You will learn: 

  • What is Application Context, and how to use it to query information.
  • How to test several applications in the same test script.
  • How to test two applications that have been built with different toolkits in the same test script.
  • How to attach and test an application started outside of Squish.
QML介绍

QML介绍

  • 1h 30min
  • basic
  • 5(17)
Start Course

Course description

这门课程适用于选择中文作为课程首选语言的用户。

在这门课程中,您将探索 QML 这个令人兴奋的世界,并发现它在创建视觉丰富的交互式应用程序方面的诸多优势。

本课程适用于想要将新的 UI 设计技术添加到其工具包中的开发人员,以及希望将其 UI 设计想法变为现实的设计师。

Objectives

您将学到什么?

  • 什么是 QML?
  • 为什么要使用 QML?
  • QML 语法。
  • QML 的关键概念。
  • 如何构建 QML?
  • 如何组合 QML 用户界面?
How to Use Qt Bridge for Figma

How to Use Qt Bridge for Figma

  • 30min
  • basic
  • 4.6(125)
Start Course

Course description

Understand how Figma can be used as an external design tool and how these designs can progress from wireframe to prototype with the help of the Qt Bridge plugin for Figma.

This course is designed around an independent exploration of the tools in Figma with the support of an example project to illustrate how the components and assets translate into Qt Design Studio.

Objectives

After completing this course, you will know:

  • How do I prepare my Figma wireframes in Qt Design Studio?
  • What are some pitfalls to consider when using Figma for Ul development?
  • How do I export my Ul wireframe to continue developing my prototype?
Introduction to QML

Introduction to QML

  • 1h 30min
  • basic
  • 4.9(375)
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.

Objectives

In this course, you will learn:

  • What is QML?
  • Why would you use QML?
  • The QML syntax.
  • The key QML concepts.
  • How do you structure QML?
  • How do you compose QML UIs?
Squish Extensions

Squish Extensions

  • 35min
  • basic
  • 4.8(44)
Start Course

Course description

Learn about Squish extensions and how they are used to recognize Qt Quick Control and custom components.

If you are new to Squish - head to qt.io/download to experience Squish for a 10-day free evaluation for businesses. If you want to learn more about Qt's QA tools, click here for more information on commercial pricing and licensing.

Objectives

During the course, you will learn:

  • How to use a Squish extension to recognize components from Qt Quick Control.
  • How to create and install a Squish extension.
  • How to use a Squish extension to recognize custom components.
Squish - Data-Driven Testing

Squish - Data-Driven Testing

  • 1h
  • basic
  • 4.8(59)
Start Course

Course description

Explore the key concepts of data-driven testing in Squish and learn to make a test case data-driven.

If you are new to Squish - head to qt.io/download to experience Squish for a 10-day free evaluation for businesses. If you want to learn more about Qt's QA tools, click here for more information on commercial pricing and licensing.

Objectives

During the course, you will learn:

  • What is data-driven testing and its advantages?
  • What is the format of test data, and how is it created in data-driven testing?
  • How to make a test case data-driven?
  • What is GUI coverage, and when is it used?
The Must-Knows of UI Design

The Must-Knows of UI Design

  • 1min
  • basic
  • 4.8(116)
Start Course

Course description

Dive into the essentials of UI design through a comprehensive exploration of wireframe creation, including its significance and the tools suitable for both digital and paper formats. Learn to gauge the necessary level of detail, whether low-fidelity or high-fidelity and understand the basics of conducting workshops to craft wireframes, utilizing wall techniques collaboratively. Identify the fundamentals of prototyping, emphasizing its importance, the seamless transition from wireframes to prototypes, and the prevalent methods for creating prototypes. Within the UX process, explore common methodologies such as contextual inquiry, moderated and unmoderated tests, expert reviews, and A/B testing, alongside the differentiation between using large datasets for qualitative and quantitative analysis. Additionally, gain insight into integrating these methodologies into a design workflow using Qt software, illustrating an example workflow from using Miro/Figjam for wireframe creation, Figma for basic prototyping, and user testing of prototypes and the iterative process of sharing and re-testing the application with users.

Objectives

In this course, you will … 

  • Get more hands-on, learning to use design tools for the creation of a UI
  • Obtain an understanding of how to create great, usable designs
  • Find out how to get the best UI out of Qt Design Studio
Basic Squish Usage

Basic Squish Usage

  • 45min
  • basic
  • 4.9(142)
Start Course

Course description

Begin your journey to understand how to take the complexity out of testing graphical user interfaces and human-machine interfaces by getting to know Squish and how to test applications. During the course, we will explore how to create, automate, and verify tests with different verification points to validate GUI objects. 

If you are new to Squish - head to qt.io/download to experience Squish for a 10-day free evaluation for businesses. If you want to learn more about Qt's QA tools, click here for more information on commercial pricing and licensing.

Objectives

During the course, you will learn:

  • How to manage Applications Under Test in the Squish IDE.
  • How to create new tests in the Squish IDE.
  • How to use verification points to validate GUI objects.
Squish - Test Synchronization

Squish - Test Synchronization

  • 45min
  • basic
  • 4.8(67)
Start Course

Course description

Explore how to maintain synchronization between a test script and the Application Under Test (AUT) when using Squish for test automation.

If you are new to Squish - head to qt.io/download to experience Squish for a 10-day free evaluation for businesses. If you want to learn more about Qt's QA tools, click here for more information on commercial pricing and licensing.

Objectives

During the course, you will learn:

  • How to ensure instructions in a test are executed when the application is ready.
  • How to implement different synchronization functions from the Squish API and know when they might be useful.
  • How to communicate with Qt's signals and event handler system to synchronize testing.
Squish - Behavior Driven Development

Squish - Behavior Driven Development

  • 40min
  • basic
  • 4.9(52)
Start Course

Course description

Explore how to utilize Behavior-Driven Development within Squish to perform tests on your applications based on outlined criteria at the beginning of the development cycle.

Objectives

In this course, you will learn:

  • How to create and structure behavior-driven test cases in Squish using the Gherkin syntax
  • How to execute behavior-driven test cases within Squish using shared and externally imported data.
  • How to migrate to and debug behavior-driven tests.
Qt Licensing for Designer & Developer Offerings

Qt Licensing for Designer & Developer Offerings

  • 20min
  • basic
  • 4.8(254)
Start Course

Course description

In this course, you will learn about the different licenses that Qt offers for our products. We have support on various levels to match our customers' size, business goals, and internal resource. 

We'll explain dual licensing of Qt designer and developer tools and framework. The course covers key aspects and differences between open-source and commercial licensing.

This course is for those who want to understand when and why to select open source versus a commercial Qt license, and what the key differences are.

Objectives

You will know:

  • What do Qt Open Source and Commercial Licensing contain? What are their differences?
  • What are the freedoms and obligations when using Qt Open Source?
  • What are the benefits of using Qt Commercial?
Introduction to Qt Quick 3D

Introduction to Qt Quick 3D

  • 11h 40min
  • basic
  • NaN(undefined)
Start Course

Course description

In this learning path, you will take a deep dive into the world of Qt Quick 3D and familiarize yourself with various topics, from nodes and scenes to post-processing. This learning path consists of six courses. Each of the courses is designed to be complemented by a companion project, allowing you to instantly view each of the example projects we are working on in each module. The aim is for you to interact with the code at every step, enhancing your understanding of each concept. 

This learning path is for 3D and Technical Artists with some knowledge of real-time rendering looking to apply their skills within the Qt Framework.

Objectives

undefined
Qt Quick 3D: Custom Materials, Render Settings & Post-Processing

Qt Quick 3D: Custom Materials, Render Settings & Post-Processing

  • 2h 30min
  • basic
  • 4.9(15)
Start Course

Course description

In this course, you will learn about writing custom materials and some of the settings used to control the global rendering environment. Additionally, you will familiarize yourself with writing custom post-processing effects.

This course is for 3D and Technical Artists with some knowledge of real-time rendering looking to apply their skills within the Qt Framework.

 

Objectives

In this course, you will learn: 

  • What are custom materials, and how do you write them?
  • What are some of the different settings that can be used to control the global rendering environment?
  • What are post-processing effects?
  • How can you write your own post-processing effects?
Qt Quick 3D: Interaction and Managing Performance

Qt Quick 3D: Interaction and Managing Performance

  • 1h 25min
  • basic
  • 4.9(17)
Start Course

Course description

In this course, you will learn about interacting with 3D content and managing performance through instancing and using level of detail.

This course is for 3D and Technical Artists with some knowledge of real-time rendering looking to apply their skills within the Qt Framework.

Objectives

In this course, you will learn: 

  • What is picking and how to use the picking API to interact with 3D content?
  • What is instancing, and how to use it?
  • What is level of detail, and why is it important to use it?
Qt Quick 3D: Animations

Qt Quick 3D: Animations

  • 1h 30min
  • basic
  • 4.7(26)
Start Course

Course description

In this course, you will learn about the different types of animations available in Qt Quick 3D and how to use them.

This course is for 3D and Technical Artists with some knowledge of real-time rendering looking to apply their skills within the Qt Framework.

Objectives

In this course, you will learn: 

  • How to use Qt Quick animation components for animating properties to animate 3D components?
  • How to use keyframe animations in Qt Quick 3D?
  • What are skinned animations and how to use them?
  • What are morph animations and how to use them?
Introduction to Qt Widgets: Part 1

Introduction to Qt Widgets: Part 1

  • 3h 10min
  • basic
  • 4.8(98)
Start Course

Course description

This course is the first part of the Introduction to Qt Widgets series. 

‍‍This course is for anyone interested in learning about the Qt Widgets. To get the most out of this course, you should understand the basic software development concepts. 

Before getting started, we recommend looking at the How to Install Qt course.

Note! The material is made with Qt 6. 

 

First step in Qt - understanding the underlying object model

As tradition demand of us, we will start this module with showing "hello world", and learning how to compile it. The core part of this module is, however, understanding how the object model works. This, obviously, includes a thorough discussion of the signal/slots mechanism, properties, and the event system.

Objectives

The course is divided into 12 parts, starting with "hello world" and learning how to compile it.
The core part of this course is understanding how the object model works. This includes a discussion of the signal/slots mechanism, properties, and the event system.

In the end, there's a knowledge check, where you can check what you learned.

 

***

 

This material was created and is the property of KDAB. It has been published on Qt Academy with their permission. KDAB is a globally recognized provider for software consulting, development and training, specializing in embedded devices and complex cross-platform desktop applications. They provide deep expertise across the stack for projects using C++, Rust, Qt, QML/Qt Quick, OpenGL, Vulkan, Qt 3D and more. KDAB experts regularly take time out to deliver world-class developer training, in-house or at open enrollment courses worldwide. You can contact them here.

Qt does not own the copyrights to this material, nor is it responsible for the content.

 

***

 

About the instructor:
The videos are presented by Jesper Pedersen, who started with Qt back when Qt was widgets only, and the version was 1.44, which gives him 21 years of experience with Qt. Since 2000 he has taught almost 100 Qt classes, ranging from Qt Widgets to QML. Jesper even taught a few classes on QTopia Core — Trolltech's initial attempt at creating a phone stack. Today, Jesper holds a fancy business title, but that doesn't prevent him from coding both in his job and his spare time.

Qt Quick 3D: Assets & Resources

Qt Quick 3D: Assets & Resources

  • 2h 30min
  • basic
  • 5(23)
Start Course

Course description

In this course, you will learn about importing your own assets and using resources, such as textures, geometry, and materials, in building the 3D scene. 

This course is for 3D and Technical Artists with some knowledge of real-time rendering looking to apply their skills within the Qt Framework.

Objectives

In this course, you will learn: 

  • How to import our own assets?
  • What are the most important resource types in Qt Quick 3D, how they behave and how to manage these resources?
  • How to use the Texture component to provide textures to our materials?
  • What are the different ways to provide geometry to a Model, and how to use the ProceduralMesh component to create geometry in QML?
  • What are the different types of built-in materials and how to use them?
Qt Quick 3D: Views, Scenes & Nodes

Qt Quick 3D: Views, Scenes & Nodes

  • 1h 45min
  • basic
  • 4.9(51)
Start Course

Course description

In this course, You will learn how to get started with Qt Quick 3D and familiarize yourself with some key concepts for creating 3D content. 

This course is for 3D and Technical Artists with some knowledge of real-time rendering looking to apply their skills within the Qt Framework.

Objectives

In this course, you will learn:

  • How to create a basic scene with Qt Quick 3D?
  • How to create multiple views displaying in the same scene with the importScene property?
  • What are Nodes?
  • Explore different types of Node-based components that are available, such as cameras, lights, models, and 2D content.
Getting Started: Boot to Qt

Getting Started: Boot to Qt

  • 45min
  • basic
  • 4.9(68)
Start Course

Course description

Getting Started: Boot to Qt will help you get started with developing for embedded devices with stunning user interfaces using the power of Qt. This course provides a step-by-step guide to deploying graphical user interfaces on embedded devices (we will use the Raspberry Pi 4 Model B.) Start your journey into the world of embedded development with Boot to Qt.

Objectives

At the end of this course, you will know the following:

  • What is Boot to Qt?
  • What can you do with Boot to Qt?
  • How do you install Boot to Ot?
  • How do you develop an embedded device with Boot to Qt?
  • How do I Run Qt applications on an embedded device?
The Qt Promise

The Qt Promise

  • 20min
  • basic
  • 4.8(488)
Start Course

Course description

In this course, we go through how Qt Group and its products help you tackle typical challenges that software designers, developers, test engineers, and companies often face.

This course is for anyone interested in Qt Group and the Qt or Quality Assurance technologies we offer.

Objectives

You Will Learn:

  • Why are digital experiences so meaningful today?
  • How can individual developers and test engineers benefit from using Qt?
  • How can Qt products help solve typical industry challenges?
Introduction to Signals and Slots

Introduction to Signals and Slots

  • 1h
  • basic
  • 4.8(144)
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?
Esri x Qt: Exploring with ArcGIS Maps SDK for Qt

Esri x Qt: Exploring with ArcGIS Maps SDK for Qt

  • 2h 25min
  • basic
  • NaN(undefined)
Start Course

Course description

Esri is the world's leading supplier of geographic information system (GIS) software, web GIS, and geodatabase management applications. Founded in 1969, the company is known for its flagship product, ArcGIS, a comprehensive GIS software suite that offers mapping and spatial analysis tools.

In this learning path, we will introduce you to ArcGIS Maps SDK for Qt, a set of tools and APIs provided by Esri, designed for building mapping and GIS applications using the Qt framework. Throughout the path, you will learn how to set up a simple mapping application that displays the user's location, displays their path as they move around, and implement the ability to download a specified area for offline accessibility.

The learning path is designed for individuals with some C++ and QML knowledge, so we encourage you to come prepared by getting set up with Qt Creator and Framework by completing the Ready, Set, Qt! learning path first.

You will have an app to explore, adapt, and build upon for a personal project or portfolio piece at the end of the path. We will signpost you at the end to share this on the Qt Forums, where you can interact with Esri and Qt Academy team members for support and feedback.

Join us on this journey of exploration as you build your skills in integrating Qt and the ArcGIS Maps SDK!

Objectives

undefined
Qt Distribution Licenses

Qt Distribution Licenses

  • 10min
  • basic
  • 4.7(83)
Start Course

Course description

In this short course, you will learn about Qt's Distribution Licenses, what they are, and when you need them.

This course is for anyone interested in understanding Qt's Distribution Licenses. The course is particularly relevant for those with Qt for Device Creation (DC) developer licenses or considering purchasing such licenses. Qt for Device Creation developer licenses, whether professional or enterprise, consist of two parts: Developer and Distribution Licenses.  This course covers the latter part.

Objectives

In this course, you will learn:

  • What are Qt Distribution Licenses and when they are needed?
  • What are Devices in the context of Distribution Licenses?
  • How Distribution Licenses are priced?
FYI x Qt: Qt Development Framework

FYI x Qt: Qt Development Framework

  • 3h
  • basic
  • NaN(undefined)
Start Course

Course description

The Qt Development Framework Path, in collaboration with FYI is a learning path designed to help you get started with the Qt framework and tools and get you on your way to creating your own applications! 

Follow the courses to get set up with your IDE, learn how to use CMake and build your applications, and dive 'under the hood' to see how we communicate between objects with Qt and C++. Finally, explore building and testing your applications for different platforms such as Android and iOS.  

FYI.mea California-based mobile tech company founded and headed by artist and tech entrepreneur, will.i.am. FYI combines messaging and collaboration tools with file management and content publishing features to create an all-in-one experience that makes creative teams more productive.

Note: This is an updated version of the previous FYI X Qt Backend Path, now open to all! Based on feedback, we have updated the courses in some areas and made them more accessible.

Some courses may appear in multiple learning paths; be aware that progress may not be tracked correctly if you have a course in progress in a different path. We recommend starting and completing a course in the first place you have enrolled.

Objectives

undefined
Making Connections: Qt Object System and Object Communication

Making Connections: Qt Object System and Object Communication

  • 45min
  • basic
  • 4.9(167)
Start Course

Course description

In this course, you learn how and why Qt works under the hood enabling you to extend plain C++.  Also, you learn how to implement communication between objects using signals and slots.

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

You need to have Qt Creator installed on your computer to get the most out of this course. You will need a laptop or a desktop computer (not a mobile device) to use Qt Creator. 

Objectives

In this course, you will learn:

  • What is Meta-Object Compiler (moc), and how it works,
  • How QObject and Q_OBJECT macros work,
  • How Qt manages memory with object trees,
  • How to implement communication between objects using signals and slots.
Qt Widgets and More with KDAB

Qt Widgets and More with KDAB

  • 8min
  • intermediate
  • NaN(undefined)
Start Course

Course description

In this learning path, we'll explore tips and tricks about Qt Widget creation using Qt Designer.

‍‍This path is for anyone interested in learning about the Qt Widget creations with Qt Designer. To get the most out of this course, you should have some experience with Qt Widgets and understand the basic software development concepts. 

Before getting started, we recommend looking at the How to Install Qt course.
 

Note! The material is not based on the latest Qt version, and new versions may have a different implementation. 

 

This material was created and is the property of KDAB. It has been published on Qt Academy with their permission. KDAB offers experienced software experts to help you deliver functional, high-performing and innovative software across embedded, mobile and desktop platforms for projects using C++, Qt, QML/Qt Quick, OpenGL, Qt 3D and more. KDAB experts regularly take time out to deliver KDAB’s world-class training, in-house or at open enrollment courses worldwide. You can contact them here.

Qt does not own the copyrights to this material, nor is it responsible for the content.

***

About the instructor:
The videos are presented by Jesper Pedersen, who started with Qt back when Qt was widgets only, and the version was 1.44, which gives him 21 years of experience with Qt. Since 2000 he has taught almost 100 Qt classes, ranging from Qt Widgets to QML. Jesper even taught a few classes on QTopia Core — Trolltech's initial attempt at creating a phone stack. Today, Jesper holds a fancy business title, but that doesn't prevent him from coding both in his job and his spare time.

Objectives

undefined
Qt Designer Plugins with KDAB

Qt Designer Plugins with KDAB

  • 1h 20min
  • intermediate
  • 4.9(10)
Start Course

Course description

Throughout this series, we'll explore tips and tricks about Qt Widget creation using Qt Designer.

‍‍This course is for anyone interested in learning about the Qt Widget creations with Qt Designer. To get the most out of this course, you should have some experience with Qt Widgets and understand the basic software development concepts. 

Before getting started, we recommend looking at the How to Install Qt course.

 

Note! The material is not based on the latest Qt version, and new versions may have a different implementation. 

Objectives

The course is divided into six parts, covering widget promotion, class initialising in Qt Designer, compiling the app as a library and creating, deploying and debugging plugins

In the end, there's a knowledge check, where you can check what you learned.


***

This material was created and is the property of KDAB. It has been published on Qt Academy with their permission. KDAB offers experienced software experts to help you deliver functional, high-performing and innovative software across embedded, mobile and desktop platforms for projects using C++, Qt, QML/Qt Quick, OpenGL, Qt 3D and more. KDAB experts regularly take time out to deliver KDAB’s world-class training, in-house or at open enrollment courses worldwide. You can contact them here.

Qt does not own the copyrights to this material, nor is it responsible for the content.

***

About the instructor:
The videos are presented by Jesper Pedersen, who started with Qt back when Qt was widgets only, and the version was 1.44, which gives him 21 years of experience with Qt. Since 2000 he has taught almost 100 Qt classes, ranging from Qt Widgets to QML. Jesper even taught a few classes on QTopia Core — Trolltech's initial attempt at creating a phone stack. Today, Jesper holds a fancy business title, but that doesn't prevent him from coding both in his job and his spare time.

Document templates in Qt Creator with KDAB

Document templates in Qt Creator with KDAB

  • 45min
  • intermediate
  • 5(14)
Start Course

Course description

Throughout this series, we'll explore tips and tricks about Qt Widget creation using Qt Designer.

‍‍This course is for anyone interested in learning about the Qt Widget creations with Qt Designer. To get the most out of this course, you should have some experience with Qt Widgets and understand the basic software development concepts. 

Before getting started, we recommend looking at the How to Install Qt course.

Note! The material is not based on the latest Qt version, and new versions may have a different implementation. 

Objectives

The course is divided into four sections, focusing on creating document templates in Qt Creator. We will cover creating a new file template and your custom file as a template (UI file), modifying the data asked in “Defining class”, and sharing the templates with others.

In the end, there's a short knowledge check to check what you learned.


***

This material was created and is the property of KDAB. It has been published on Qt Academy with their permission. KDAB offers experienced software experts to help you deliver functional, high-performing and innovative software across embedded, mobile and desktop platforms for projects using C++, Qt, QML/Qt Quick, OpenGL, Qt 3D and more. KDAB experts regularly take time out to deliver KDAB’s world-class training, in-house or at open enrollment courses worldwide. You can contact them here.

Qt does not own the copyrights to this material, nor is it responsible for the content.

***

About the instructor:
The videos are presented by Jesper Pedersen, who started with Qt back when Qt was widgets only, and the version was 1.44, which gives him 21 years of experience with Qt. Since 2000 he has taught almost 100 Qt classes, ranging from Qt Widgets to QML. Jesper even taught a few classes on QTopia Core — Trolltech's initial attempt at creating a phone stack. Today, Jesper holds a fancy business title, but that doesn't prevent him from coding both in his job and his spare time.

Model/View with KDAB

Model/View with KDAB

  • 2min
  • intermediate
  • 4.9(20)
Start Course

Course description

Throughout this series, we'll explore tips and tricks about Qt Widget creation using Qt Designer.

‍‍This course is for anyone interested in learning about the Qt Widget creations with Qt Designer. To get the most out of this course, you should have some experience with Qt Widgets and understand the basic software development concepts. 

Before getting started, we recommend looking at the How to Install Qt course.

 

Note! The material is not based on the latest Qt version, and new versions may have a different implementation. 

Objectives

The course is divided into seven sections, covering a view communicating with the bottom-most model, enum classes with Qt’s model/view framework and implementing a proxy model.

In the end, there's a knowledge check, where you can check what you learned.


***

This material was created and is the property of KDAB. It has been published on Qt Academy with their permission. KDAB offers experienced software experts to help you deliver functional, high-performing and innovative software across embedded, mobile and desktop platforms for projects using C++, Qt, QML/Qt Quick, OpenGL, Qt 3D and more. KDAB experts regularly take time out to deliver KDAB’s world-class training, in-house or at open enrollment courses worldwide. You can contact them here.

Qt does not own the copyrights to this material, nor is it responsible for the content.

***

About the instructor:
The videos are presented by Jesper Pedersen, who started with Qt back when Qt was widgets only, and the version was 1.44, which gives him 21 years of experience with Qt. Since 2000 he has taught almost 100 Qt classes, ranging from Qt Widgets to QML. Jesper even taught a few classes on QTopia Core — Trolltech's initial attempt at creating a phone stack. Today, Jesper holds a fancy business title, but that doesn't prevent him from coding both in his job and his spare time.

QAbstractItemViews with KDAB

QAbstractItemViews with KDAB

  • 4min
  • intermediate
  • 4.9(17)
Start Course

Course description

Throughout this series, we'll explore tips and tricks about Qt Widget creation using Qt Designer.

‍‍This course is for anyone interested in learning about the Qt Widget creations with Qt Designer. To get the most out of this course, you should have some experience with Qt Widgets and understand the basic software development concepts. 

Before getting started, we recommend looking at the How to Install Qt course.
 

Note! The material is not based on the latest Qt version, and new versions may have a different implementation. 

Objectives

The course is divided into 13 sections. Sections 2-8 concentrate on QTableView, QTreeView and headers. Sections 9-11 focus on delegates and the last two sections talk about context menus. 

In the end, there's a knowledge check, where you can check what you learned.


***

This material was created and is the property of KDAB. It has been published on Qt Academy with their permission. KDAB offers experienced software experts to help you deliver functional, high-performing and innovative software across embedded, mobile and desktop platforms for projects using C++, Qt, QML/Qt Quick, OpenGL, Qt 3D and more. KDAB experts regularly take time out to deliver KDAB’s world-class training, in-house or at open enrollment courses worldwide. You can contact them here.

Qt does not own the copyrights to this material, nor is it responsible for the content.

***

About the instructor:
The videos are presented by Jesper Pedersen, who started with Qt back when Qt was widgets only, and the version was 1.44, which gives him 21 years of experience with Qt. Since 2000 he has taught almost 100 Qt classes, ranging from Qt Widgets to QML. Jesper even taught a few classes on QTopia Core — Trolltech's initial attempt at creating a phone stack. Today, Jesper holds a fancy business title, but that doesn't prevent him from coding both in his job and his spare time.

Qt Design Studio: Blur Effect

Qt Design Studio: Blur Effect

  • 15min
  • basic
  • 4.4(35)
Start Course

Course description

In this video tutorial, you will learn the basic use of the blur effect from QtQuick.Effects library. 

This tutorial is for Designers who want to achieve interaction and animations in their design and use the blur effect.

Objectives

In this tutorial, you will learn about:

  • Creating a simple animation by building a timeline with keyframes
  • Adding a Slider object from Qt Quick Controls Library
  • Binding the timeline to a slider
  • Using MultiEffect for manipulating properties, focusing on the blur effect
  • Binding the position of text boxes
Getting Started with Qt for iOS

Getting Started with Qt for iOS

  • 20min
  • basic
  • 4.8(73)
Start Course

Course description

Getting Started with Qt for iOS course covers various themes that prepare you for creating iOS apps with Qt Quick and QML. 

You will learn how to:

  • Install Qt for iOS 
  • Configure Qt for the iOS app
  • Create iOS UIs using Qt Quick and QML
  • Integrate Objective-C code into the Qt app
  • Submit the Qt app to the App Store

Objectives

Getting Started with Qt for Android

Getting Started with Qt for Android

  • 25min
  • basic
  • 4.8(134)
Start Course

Course description

This tutorial is a beginner's guide to using the Qt for Android toolchain, including the Qt Creator IDE, to get you started developing apps.

 

Objectives

In this course, you will learn: 

  • Installing Qt for Android and Qt Creator
  • Using Qt Creator to download and setup Android dependencies (including OpenSSL)
  • Setting up an Android virtual device in Qt Creator
  • Building and deploying an example to an emulator
  • Deploying an example to a target device
  • Investigating app output and debug information with Qt Creator
UI Design with Qt Design Studio

UI Design with Qt Design Studio

  • 6min
  • basic
  • NaN(undefined)
Start Course

Course description

UI with Qt Design Studio has been designed to help you on your journey to becoming a UI designer and utilising Qt Framework to create experiences with Qt Design Studio.

Throughout the courses, you will learn tips, tricks, and theories of user experience design. As well also getting hands-on with Qt Design Studio using tools for 2D, 3D, and importing content from tools such as Figma.

Once you have finished, harness the skills you have learned and take the project in your own direction!

FYI.mea California-based mobile tech company founded and headed by artist and tech entrepreneur, will.i.am. FYI combines messaging and collaboration tools with file management and content publishing features to create an all-in-one experience that makes creative teams more productive.

Note: This is an updated version of the previous FYI X Qt UI Learning Path. Based on feedback, we have updated the courses in some areas and made them more accessible with a new independent project at the end.

Objectives

undefined
Defining Good UI Design

Defining Good UI Design

  • 40min
  • basic
  • 4.8(110)
Start Course

Course description

Delve into the intricacies of crafting user interfaces that resonate well with the intended audience. The course emphasizes understanding users by identifying their primary problems and challenges, alongside reviewing competitive products to grasp how they achieve their objectives. Explore the importance of intuitive and familiar UI patterns through analyzing existing UI solutions, learning not to replicate but to thoughtfully adapt and incorporate successful elements, drawing inspiration from established design systems. Learn how to maintain consistency within UI design by establishing a clear design hierarchy, uniform branding elements, coherent typography, and distinct UI components, all of which contribute to creating a defined and appealing style.

Objectives

In this course, you will … 

  • Understand users' challenges, and how other products attempt to solve these

  • Familiarize yourself with typical UI patterns​

  • Create consistent designs and define the overall style of UI

Creating Your First App with Qt Design Studio

Creating Your First App with Qt Design Studio

  • 40min
  • basic
  • 4.9(248)
Start Course

Course description

In this course, you'll learn how to create your first application with Qt. Note that you need to have Qt Design Studio installed on your computer to get the most out of this course.

It has three modules:

  • Design your application
  • Apply logic to your first application
  • Share your application with Qt Design Viewer

Objectives

In this course, you will … 

  • Learn how to continue the creation of your very first app
  • Discover some do's and dont's of app creation
  • Learn how to create a basic application design with Qt Design Studio
  • Discover how to create a button, text field, and checkbox with Qt Quick Controls
  • Develop a way to anchor components
3D with Qt Design Studio

3D with Qt Design Studio

  • 30min
  • basic
  • 4.9(105)
Start Course

Course description

In this course, you will learn the basics of how to get started with 3D UI design in Qt Design Studio.

You need to have Qt Design Studio installed on your computer to get the most out of this course. You will need a laptop or a desktop computer (not a mobile device) to use Qt Design Studio.​

Objectives

In this course, you will learn … 

  • How to create a 3D scene

  • How to import objects

  • How to transform the objects 

  • How to light a scene

Qt Designer with KDAB

Qt Designer with KDAB

  • 30min
  • intermediate
  • 4.9(69)
Start Course

Course description

Throughout this series, we'll explore tips and tricks about Qt Widget creation using Qt Designer.

‍‍This course is for anyone interested in learning about the Qt Widget creations with Qt Designer. To get the most out of this course, you should have some experience with Qt Widgets and understand the basic software development concepts. 

Before getting started, we recommend looking at the How to Install Qt course.
 

Note! The material is not based on the latest Qt version, and new versions may have a different implementation. 

Objectives

The course is divided into three short sections covering tips regarding GridLayout, Populating a Combobox and Setting radio buttons in button groups. In the end, there's a knowledge check, where you can check what you learned.


***

This material was created and is the property of KDAB. It has been published on Qt Academy with their permission. KDAB offers experienced software experts to help you deliver functional, high-performing and innovative software across embedded, mobile and desktop platforms for projects using C++, Qt, QML/Qt Quick, OpenGL, Qt 3D and more. KDAB experts regularly take time out to deliver KDAB’s world-class training, in-house or at open enrollment courses worldwide. You can contact them here.

Qt does not own the copyrights to this material, nor is it responsible for the content.

***

About the instructor:
The videos are presented by Jesper Pedersen, who started with Qt back when Qt was widgets only, and the version was 1.44, which gives him 21 years of experience with Qt. Since 2000 he has taught almost 100 Qt classes, ranging from Qt Widgets to QML. Jesper even taught a few classes on QTopia Core — Trolltech's initial attempt at creating a phone stack. Today, Jesper holds a fancy business title, but that doesn't prevent him from coding both in his job and his spare time.

Ready Set Qt

Ready Set Qt

  • 1h 15min
  • basic
  • NaN(undefined)
Start Course

Course description

Ready... Set... Qt! Are you ready to get started with Qt? This learning path provides you with all the essential knowledge and skills needed to kickstart your journey. You'll begin by learning how to install, create a project, and build your application using CMake and Qt Creator. With step-by-step guidance, you can run your first application in no time. Completing this path will give you the skills and knowledge to begin your Qt journey. So, what are you waiting for? Set off on your Qt journey. Where will it take you?

Objectives

undefined
Getting Started with Qt Tools for Visual Studio

Getting Started with Qt Tools for Visual Studio

  • 15min
  • basic
  • 4.8(571)
Start Course

Course description

In this tutorial, you will install Qt Visual Studio tools, and create your first Qt Quick project with them.

This tutorial is for anyone interested in writing software with Qt Tools for Visual Studio. You should have some development experience and understand the basic software development concepts to get the most out of this course. 

You need to install MS Visual Studio on your computer to get the most out of this course.

Objectives

In this tutorial, you will:

  • Install Qt Visual Studio tools
  • Create your first Qt Quick project with them.
Creating a Simple Qt Quick Application

Creating a Simple Qt Quick Application

  • 20min
  • basic
  • 4.8(461)
Start Course

Course description

In this tutorial, you will build your first app with Qt using Qt Quick. 

This tutorial is for anyone wanting to start their journey with Qt and learn how to build applications with Qt and Qt Quick.

Objectives

In this tutorial, you will … 

  • Identify to create a new Qt Quick application in Qt Creator and specify the build system.
  • Experiment with adding QML components to your application, including a text field and button, and import necessary modules.
  • Implement interactivity in your application by writing QML code to display and close a pop-up window.
Learn Qt and QML with Scythe Studio

Learn Qt and QML with Scythe Studio

  • 6min
  • basic
  • 4.9(61)
Start Course

Course description

Throughout this series, we'll explore various concepts, build projects, and unravel the beauty of Qt. The course content includes a wide range of topics that will equip you with the necessary knowledge and skills.

Click here to access the GitHub repo for the course: Scythe Studio GitHub.


This material was created and is the property of Scythe Studio. It has been published on Qt Academy with their permission. Scythe Studio is a consultancy full of Qt and C++ development experts. You can contact them here.

Qt Group does not own the copyrights to this material, nor is it responsible for maintaining the content.

Objectives

In this course, you will:

  • Understand and apply the core concepts of Qt, including communication mechanisms through Signals and Slots, the architecture of Qt objects, and leveraging QML for dynamic user interface design.
  • Master the integration of C++ with QML to inject logic and functionality into applications, enhancing their capability and performance.
  • Navigate the continuation of your Qt QML development journey with guidance on advanced learning resources and strategies for applying them effectively, ensuring ongoing growth and skill enhancement in Qt QML development.
Meet Qt

Meet Qt

  • 40min
  • basic
  • NaN(undefined)
Start Course

Course description

Welcome – here you will learn about Qt!

In the two courses on this learning path, you will be introduced to Qt Group's product portfolio, and how these products aim to tackle common challenges in the software industry. The portfolio contains tools that go beyond design and develop, and that work seamlessly together. 

This path is for anyone interested in Qt Group and the Qt or Quality Assurance technologies we offer.

Objectives

undefined