Migrating to Qt 6

Migrating to from Qt 5 to Qt 6 for the experienced developer



3 hours


Jan 2021

Last Update
Regular Price

What you will learn

Tips and Tricks for migrating to Qt 6

Basic changes to Qt 6

Basic CMake usage

Migration strategies

Core 5 compatibility

Version adoption issues


This course is designed give experienced developers a first hand look at code changes from Qt 5 to Qt 6 and what you can expect when attempting to migrate to Qt 6. This course is not for the beginner, and is hyper focused on code migration issues.

I took all the Qt code I have written to date, and ran the projects through a series of automated tests - this is literally hundreds of projects ranging in complexity of "hello world" all the way to multi-threaded servers, and collected 20 real world examples we will dive into. We will cover how to examine code, review failures to compile along with cover backwards compatibility.

The code used in migration testing was imported in the previous Qt 5 courses:

  • QT 5 Core beginners with C++

  • QT 5 Core intermediate with C++

  • QT 5 Core advanced with C++

  • QT 5 Widgets for beginners C++

  • QML for beginners with Qt 5

  • QT 5 Design Patterns

Testing each project using the following pattern:

  • Running the code in Qt 5

  • Converting the project to CMake

  • Running and fixing the code in Qt 6

  • Check with official documentation as needed

This course expects the developer to have a solid understanding of Qt, QML, Widgets and C++ before enrolling.

We will also cover some basics of CMake, including some troubleshooting steps for when your project won't load or fails to compile.

CMake templates also included.


Migrating to Qt 6
Migrating to Qt 6
Migrating to Qt 6
Migrating to Qt 6


Course introduction

Who this course is for

What is the goal of this course

Why this course was created

Who is the instructor

Source Code

Qt 6 general overview

Qt 6 Released

Technical Specifications

Supported Platforms

The Official Documentation

Changes to Qt Modules

What's New

Installing Qt 6

Migrating from QMake to CMake

QMake still works

Diving into CMake

CMake Widgets Example

CMake QML Example

Custom CMake Template

Downloadable CMake Templates

CMake Tutorial

Qt 6 Build System

Run in terminal

Code Examples

Code Migrations

Source Code

Moving from C++ 11 to C++ 17

Example 1 – QML Menus and Dialog

Example 2 – Regular Expressions

Example 3 – Widgets with Qt Concurrent

Example 4 – QML with Qt Concurrent

Example 5 – sprintf and asprintf

Example 6 – UDP Qt Concurrent Chat

Example 7 – HTTP Post

Example 8 – SSL Post and Download

Example 9 – TCP Server

Example 10 – Property System

Example 11 – Date and Time

Example 12 – Linked Lists

Example 13 – QByteArray Changes

Example 14 – Don’t use endl

Example 15 – Text Codec

Example 16 – Reading and Writing XML

Example 17 – QSysInfo Changes

Example 18 – Widgets Windows Flags

Example 19 – Widgets Tri-State Checkbox

Example 20 – Incremental Versions Adoption

Getting help

Modules Coming 6.1 / 6.2

Qt Official Support

Qt Forums

Qt Bug Reports

Voidrealms Facebook & Youtube


Expired1/13/2021100% OFF


Udemy ID


Course created date


Course Indexed date
Angelcrc Seven
Course Submitted by

Android PlayStore
Apple Appstore