Skip to content

KDAB TV – Recent Videos KDAB's YouTube Channel: Qt, C++ and 3D tutorials, news and more

KDAB's YouTube Channel: Qt, C++ and 3D tutorials, news and more

KDAB as the global No.1 software consultancy for Qt, C++ and 3D applications and has been a relevant source for professional software developers for 20 years, offering a good mix of valuable information. As video content has become increasingly relevant, we have decided to offer regular, highly visible videos for professional developers using Qt, C++ and 3D technologies.

The channel offers tutorials for beginners and advanced developers presented by our experienced experts as well as show cases, C++, Qt and 3D related news, insights on events and trends. Click the tabs to explore.

KDAB TV – Latest

One thing is being told, yet another is to see for yourself. Which is why we in this episode will see the implementation of a tree model coded from scratch.

The example code showcased in this video is available here: 
https://github.com/KDABLabs/kdabtv/tree/master/Programming-With-Qt-Widgets/modelview

All 'Introduction to Qt Widgets - Module 1' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hgf7zCKF2Rv9Y0WoN8RVGf

All 'Introduction to Qt Widgets - Module 2' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6j_c41CFMprvg9EiWz0WdSy

All 'Introduction to Qt Widgets - Module 3' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6hWZO_viEf1rfjgk4E6SCKd

All 'Introduction to Qt Widgets - Module 4' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6iXUNQMb2GkEjV_oK6Xid9-

All 'Introduction to Qt Widgets - Module 5' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6h1tsLAETdrrFlsVMeYpiHI

All 'Introduction to Qt Widgets - Module 6' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6jIsRYriqN70V83t_mdDZHT

All 'Introduction to Qt Widgets - Module 7' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hHyqD9ZxUqpd14LoHvadN7

All 'Introduction to Qt Widgets - Module 8' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6iCb8g5NSfVqX0JRFzFnxak

Please note that non-English dubs for all KDAB videos are auto-generated. These translations have not been moderated by us and may contain inaccuracies. We appreciate your understanding and apologize for any confusion this may cause.

About the host:
The video is 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. Heck, 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 in his spare time.

Every month our newsletter is featuring technical blogs on Qt, C++ and 3D topics: https://www.kdab.com/development-resources/sign-up-for-our-newsletter/

About KDAB:
Trusted software excellence across embedded and desktop platforms

The KDAB Group is a globally recognized provider for software consulting, development and training, specializing in embedded devices and complex cross-platform desktop applications. In addition to being leading experts in Qt, C++ and 3D technologies for over two decades, KDAB provides deep expertise across the stack, including Linux, Rust and modern UI frameworks. https://www.kdab.com/software-services.

KDAB experts regularly take time out to deliver KDAB’s world class training, in-house or at open enrollment courses around the world. We are the market leaders for training in Qt/QML, Modern C++, Rust and OpenGL. https://training.kdab.com/ 

With 100+ employees from 20 countries and offices in Sweden, Germany, USA, France and UK, we serve clients around the world. https://www.kdab.com/about/contact/
Introduction to Qt Widgets (Part 60) - Live Coding of a Tree Model

One thing is being told, yet another is to see for yourself. Which is why we in this episode will see the implementation of a tree model coded from scratch.

The example code showcased in this video is available here:
https://github.com/KDABLabs/kdabtv/tree/master/Programming-With-Qt-Widgets/modelview

All 'Introduction to Qt Widgets - Module 1' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hgf7zCKF2Rv9Y0WoN8RVGf

All 'Introduction to Qt Widgets - Module 2' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6j_c41CFMprvg9EiWz0WdSy

All 'Introduction to Qt Widgets - Module 3' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6hWZO_viEf1rfjgk4E6SCKd

All 'Introduction to Qt Widgets - Module 4' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6iXUNQMb2GkEjV_oK6Xid9-

All 'Introduction to Qt Widgets - Module 5' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6h1tsLAETdrrFlsVMeYpiHI

All 'Introduction to Qt Widgets - Module 6' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6jIsRYriqN70V83t_mdDZHT

All 'Introduction to Qt Widgets - Module 7' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hHyqD9ZxUqpd14LoHvadN7

All 'Introduction to Qt Widgets - Module 8' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6iCb8g5NSfVqX0JRFzFnxak

Please note that non-English dubs for all KDAB videos are auto-generated. These translations have not been moderated by us and may contain inaccuracies. We appreciate your understanding and apologize for any confusion this may cause.

About the host:
The video is 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. Heck, 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 in his spare time.

Every month our newsletter is featuring technical blogs on Qt, C++ and 3D topics: https://www.kdab.com/development-resources/sign-up-for-our-newsletter/

About KDAB:
Trusted software excellence across embedded and desktop platforms

The KDAB Group is a globally recognized provider for software consulting, development and training, specializing in embedded devices and complex cross-platform desktop applications. In addition to being leading experts in Qt, C++ and 3D technologies for over two decades, KDAB provides deep expertise across the stack, including Linux, Rust and modern UI frameworks. https://www.kdab.com/software-services.

KDAB experts regularly take time out to deliver KDAB’s world class training, in-house or at open enrollment courses around the world. We are the market leaders for training in Qt/QML, Modern C++, Rust and OpenGL. https://training.kdab.com/

With 100+ employees from 20 countries and offices in Sweden, Germany, USA, France and UK, we serve clients around the world. https://www.kdab.com/about/contact/

YouTube Video VVVqc0prVEpTWjVHN2V3SDJ1ZjA4dDBBLkZLa3NBOGFMMEVv

Introduction to Qt Widgets (Part 60) - Live Coding of a Tree Model

We finally made it here - with all the building blocks in place we now are able to understand what it takes to implement a tree model.

Chapters: 
00:00 Welcome
00:31 What are the classes involved?
01:29 Advertise: Cross platform development
01:58 Overview of the methods needed to create a tree model
05:27 Model indexes
08:26 Understanding the void pointer inside the model index
11:23 Only the model can create its own indexes - createIndex
16:59 What are the next steps?

The example code showcased in this video is available here: 
https://github.com/KDABLabs/kdabtv/tree/master/Programming-With-Qt-Widgets/modelview

All 'Introduction to Qt Widgets - Module 1' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hgf7zCKF2Rv9Y0WoN8RVGf

All 'Introduction to Qt Widgets - Module 2' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6j_c41CFMprvg9EiWz0WdSy

All 'Introduction to Qt Widgets - Module 3' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6hWZO_viEf1rfjgk4E6SCKd

All 'Introduction to Qt Widgets - Module 4' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6iXUNQMb2GkEjV_oK6Xid9-

All 'Introduction to Qt Widgets - Module 5' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6h1tsLAETdrrFlsVMeYpiHI

All 'Introduction to Qt Widgets - Module 6' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6jIsRYriqN70V83t_mdDZHT

All 'Introduction to Qt Widgets - Module 7' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hHyqD9ZxUqpd14LoHvadN7

All 'Introduction to Qt Widgets - Module 8' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6iCb8g5NSfVqX0JRFzFnxak

Please note that non-English dubs for all KDAB videos are auto-generated. These translations have not been moderated by us and may contain inaccuracies. We appreciate your understanding and apologize for any confusion this may cause.

About the host:
The video is 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. Heck, 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 in his spare time.

Every month our newsletter is featuring technical blogs on Qt, C++ and 3D topics: https://www.kdab.com/development-resources/sign-up-for-our-newsletter/

About KDAB:
Trusted software excellence across embedded and desktop platforms

The KDAB Group is a globally recognized provider for software consulting, development and training, specializing in embedded devices and complex cross-platform desktop applications. In addition to being leading experts in Qt, C++ and 3D technologies for over two decades, KDAB provides deep expertise across the stack, including Linux, Rust and modern UI frameworks. https://www.kdab.com/software-services.

KDAB experts regularly take time out to deliver KDAB’s world class training, in-house or at open enrollment courses around the world. We are the market leaders for training in Qt/QML, Modern C++, Rust and OpenGL. https://training.kdab.com/ 

With 100+ employees from 20 countries and offices in Sweden, Germany, USA, France and UK, we serve clients around the world. https://www.kdab.com/about/contact/
Introduction to Qt Widgets (Part 59) - Tree Models

We finally made it here - with all the building blocks in place we now are able to understand what it takes to implement a tree model.

Chapters:
00:00 Welcome
00:31 What are the classes involved?
01:29 Advertise: Cross platform development
01:58 Overview of the methods needed to create a tree model
05:27 Model indexes
08:26 Understanding the void pointer inside the model index
11:23 Only the model can create its own indexes - createIndex
16:59 What are the next steps?

The example code showcased in this video is available here:
https://github.com/KDABLabs/kdabtv/tree/master/Programming-With-Qt-Widgets/modelview

All 'Introduction to Qt Widgets - Module 1' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hgf7zCKF2Rv9Y0WoN8RVGf

All 'Introduction to Qt Widgets - Module 2' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6j_c41CFMprvg9EiWz0WdSy

All 'Introduction to Qt Widgets - Module 3' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6hWZO_viEf1rfjgk4E6SCKd

All 'Introduction to Qt Widgets - Module 4' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6iXUNQMb2GkEjV_oK6Xid9-

All 'Introduction to Qt Widgets - Module 5' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6h1tsLAETdrrFlsVMeYpiHI

All 'Introduction to Qt Widgets - Module 6' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6jIsRYriqN70V83t_mdDZHT

All 'Introduction to Qt Widgets - Module 7' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hHyqD9ZxUqpd14LoHvadN7

All 'Introduction to Qt Widgets - Module 8' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6iCb8g5NSfVqX0JRFzFnxak

Please note that non-English dubs for all KDAB videos are auto-generated. These translations have not been moderated by us and may contain inaccuracies. We appreciate your understanding and apologize for any confusion this may cause.

About the host:
The video is 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. Heck, 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 in his spare time.

Every month our newsletter is featuring technical blogs on Qt, C++ and 3D topics: https://www.kdab.com/development-resources/sign-up-for-our-newsletter/

About KDAB:
Trusted software excellence across embedded and desktop platforms

The KDAB Group is a globally recognized provider for software consulting, development and training, specializing in embedded devices and complex cross-platform desktop applications. In addition to being leading experts in Qt, C++ and 3D technologies for over two decades, KDAB provides deep expertise across the stack, including Linux, Rust and modern UI frameworks. https://www.kdab.com/software-services.

KDAB experts regularly take time out to deliver KDAB’s world class training, in-house or at open enrollment courses around the world. We are the market leaders for training in Qt/QML, Modern C++, Rust and OpenGL. https://training.kdab.com/

With 100+ employees from 20 countries and offices in Sweden, Germany, USA, France and UK, we serve clients around the world. https://www.kdab.com/about/contact/

YouTube Video VVVqc0prVEpTWjVHN2V3SDJ1ZjA4dDBBLnVNb19JRldCVE80

Introduction to Qt Widgets (Part 59) - Tree Models

When you implement a model, it is worthwhile remembering that one day an intern, with far less experience than you, might implement a proxy model which sits on top of your model and acts as the view.
This proxy model might be broken in ways you could even imagine, so better check that the index provided are actually referring to valid data in your model.

This episode discusses this in details, and offers you a simple library with all checks needed.

Chapters:
00:00 Welcome
00:26 Why is this important?
02:35 Over to the QWAM episode
03:36 The broken example
05:48 Hint to what is wrong
07:20 What is the cure?
08:05 What can I do to be more safe?
09:10 Qt 5.11 - checkIndex
12:39 CHECK_ macros
14:56 QAbstractProxyModel::headerData calling index for an invalid row

Links: 
* QWAM: Communicating between view and model: https://youtu.be/q6eOEz_UfTI?list=PL6CJYn40gN6gf-G-o6syFwGrtq3kItEqI
* Blog post on checkIndex: https://www.kdab.com/new-in-qt-5-11-improvements-to-the-model-view-apis-part-1/
* Categorized logging: https://www.youtube.com/watch?v=f12lUvbdj2U&list=PL6CJYn40gN6gf-G-o6syFwGrtq3kItEqI&index=52&t=639s

The example code showcased in this video is available here: 
https://github.com/KDABLabs/kdabtv/tree/master/Programming-With-Qt-Widgets/modelview

All 'Introduction to Qt Widgets - Module 1' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hgf7zCKF2Rv9Y0WoN8RVGf

All 'Introduction to Qt Widgets - Module 2' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6j_c41CFMprvg9EiWz0WdSy

All 'Introduction to Qt Widgets - Module 3' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6hWZO_viEf1rfjgk4E6SCKd

All 'Introduction to Qt Widgets - Module 4' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6iXUNQMb2GkEjV_oK6Xid9-

All 'Introduction to Qt Widgets - Module 5' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6h1tsLAETdrrFlsVMeYpiHI

All 'Introduction to Qt Widgets - Module 6' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6jIsRYriqN70V83t_mdDZHT

All 'Introduction to Qt Widgets - Module 7' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hHyqD9ZxUqpd14LoHvadN7

All 'Introduction to Qt Widgets - Module 8' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6iCb8g5NSfVqX0JRFzFnxak

Please note that non-English dubs for all KDAB videos are auto-generated. These translations have not been moderated by us and may contain inaccuracies. We appreciate your understanding and apologize for any confusion this may cause.

About the host:
The video is 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. Heck, 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 in his spare time.

Every month our newsletter is featuring technical blogs on Qt, C++ and 3D topics: https://www.kdab.com/development-resources/sign-up-for-our-newsletter/

About KDAB:
Trusted software excellence across embedded and desktop platforms

The KDAB Group is a globally recognized provider for software consulting, development and training, specializing in embedded devices and complex cross-platform desktop applications. In addition to being leading experts in Qt, C++ and 3D technologies for over two decades, KDAB provides deep expertise across the stack, including Linux, Rust and modern UI frameworks. https://www.kdab.com/software-services.

KDAB experts regularly take time out to deliver KDAB’s world class training, in-house or at open enrollment courses around the world. We are the market leaders for training in Qt/QML, Modern C++, Rust and OpenGL. https://training.kdab.com/ 

With 100+ employees from 20 countries and offices in Sweden, Germany, USA, France and UK, we serve clients around the world. https://www.kdab.com/about/contact/
Introduction to Qt Widgets (Part 58) - Check Your Indexes

When you implement a model, it is worthwhile remembering that one day an intern, with far less experience than you, might implement a proxy model which sits on top of your model and acts as the view.
This proxy model might be broken in ways you could even imagine, so better check that the index provided are actually referring to valid data in your model.

This episode discusses this in details, and offers you a simple library with all checks needed.

Chapters:
00:00 Welcome
00:26 Why is this important?
02:35 Over to the QWAM episode
03:36 The broken example
05:48 Hint to what is wrong
07:20 What is the cure?
08:05 What can I do to be more safe?
09:10 Qt 5.11 - checkIndex
12:39 CHECK_ macros
14:56 QAbstractProxyModel::headerData calling index for an invalid row

Links:
* QWAM: Communicating between view and model: https://youtu.be/q6eOEz_UfTI?list=PL6CJYn40gN6gf-G-o6syFwGrtq3kItEqI
* Blog post on checkIndex: https://www.kdab.com/new-in-qt-5-11-improvements-to-the-model-view-apis-part-1/
* Categorized logging: https://www.youtube.com/watch?v=f12lUvbdj2U&list=PL6CJYn40gN6gf-G-o6syFwGrtq3kItEqI&index=52&t=639s

The example code showcased in this video is available here:
https://github.com/KDABLabs/kdabtv/tree/master/Programming-With-Qt-Widgets/modelview

All 'Introduction to Qt Widgets - Module 1' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hgf7zCKF2Rv9Y0WoN8RVGf

All 'Introduction to Qt Widgets - Module 2' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6j_c41CFMprvg9EiWz0WdSy

All 'Introduction to Qt Widgets - Module 3' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6hWZO_viEf1rfjgk4E6SCKd

All 'Introduction to Qt Widgets - Module 4' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6iXUNQMb2GkEjV_oK6Xid9-

All 'Introduction to Qt Widgets - Module 5' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6h1tsLAETdrrFlsVMeYpiHI

All 'Introduction to Qt Widgets - Module 6' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6jIsRYriqN70V83t_mdDZHT

All 'Introduction to Qt Widgets - Module 7' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hHyqD9ZxUqpd14LoHvadN7

All 'Introduction to Qt Widgets - Module 8' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6iCb8g5NSfVqX0JRFzFnxak

Please note that non-English dubs for all KDAB videos are auto-generated. These translations have not been moderated by us and may contain inaccuracies. We appreciate your understanding and apologize for any confusion this may cause.

About the host:
The video is 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. Heck, 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 in his spare time.

Every month our newsletter is featuring technical blogs on Qt, C++ and 3D topics: https://www.kdab.com/development-resources/sign-up-for-our-newsletter/

About KDAB:
Trusted software excellence across embedded and desktop platforms

The KDAB Group is a globally recognized provider for software consulting, development and training, specializing in embedded devices and complex cross-platform desktop applications. In addition to being leading experts in Qt, C++ and 3D technologies for over two decades, KDAB provides deep expertise across the stack, including Linux, Rust and modern UI frameworks. https://www.kdab.com/software-services.

KDAB experts regularly take time out to deliver KDAB’s world class training, in-house or at open enrollment courses around the world. We are the market leaders for training in Qt/QML, Modern C++, Rust and OpenGL. https://training.kdab.com/

With 100+ employees from 20 countries and offices in Sweden, Germany, USA, France and UK, we serve clients around the world. https://www.kdab.com/about/contact/

YouTube Video VVVqc0prVEpTWjVHN2V3SDJ1ZjA4dDBBLlFHSzZ4aGFkemlZ

Introduction to Qt Widgets (Part 58) - Check Your Indexes

In this episode I will live code a model based on QAbstractTableModel.

Chapters:
00:00 Welcome
00:54 The end result
01:50 The starting point 
03:29 Creating a QTableView in main.cpp
04:57 Setting up the DepecheModel
07:55 The default implementation by Qt Creator
09:45 Implementing headerData
12:20 Implementing rowCount
13:21 Advertise - Braumeister
13:49 Fixing why nothing showed up
16:08 Implementing columnCount and header for columns
20:01 A bit of cleaning up
20:47 Implementing the data method
25:00 Implementing the check boxes
29:50 Alignment
33:40 Turning the column enum into an enum class
36:47 EnumConverrters.h
42:47 What's next?

Links: 
* QWAM episode on flags - https://youtu.be/EGhHlPDeyvg?list=PL6CJYn40gN6gf-G-o6syFwGrtq3kItEqI
* QWAM episode on Github Copilot - https://youtu.be/kQzpvHPeBQo?list=PL6CJYn40gN6gf-G-o6syFwGrtq3kItEqI
* QWAM episode on favorite shortcuts in Qt Creator: https://youtu.be/7Zn6r9HYy6Y?list=PL6CJYn40gN6gf-G-o6syFwGrtq3kItEqI
* Video on Braumeister: https://youtu.be/OFohLXdtCzM?list=PL6CJYn40gN6hWTi9AEI1zSfbmC4Skmokb
* QWAM episode on Clang Format - https://youtu.be/Cz36YveDI2E?list=PL6CJYn40gN6gf-G-o6syFwGrtq3kItEqI

The example code showcased in this video is available here: 
https://github.com/KDABLabs/kdabtv/tree/master/Programming-With-Qt-Widgets/modelview

All 'Introduction to Qt Widgets - Module 1' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hgf7zCKF2Rv9Y0WoN8RVGf

All 'Introduction to Qt Widgets - Module 2' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6j_c41CFMprvg9EiWz0WdSy

All 'Introduction to Qt Widgets - Module 3' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6hWZO_viEf1rfjgk4E6SCKd

All 'Introduction to Qt Widgets - Module 4' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6iXUNQMb2GkEjV_oK6Xid9-

All 'Introduction to Qt Widgets - Module 5' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6h1tsLAETdrrFlsVMeYpiHI

All 'Introduction to Qt Widgets - Module 6' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6jIsRYriqN70V83t_mdDZHT

All 'Introduction to Qt Widgets - Module 7' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hHyqD9ZxUqpd14LoHvadN7

All 'Introduction to Qt Widgets - Module 8' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6iCb8g5NSfVqX0JRFzFnxak

Please note that non-English dubs for all KDAB videos are auto-generated. These translations have not been moderated by us and may contain inaccuracies. We appreciate your understanding and apologize for any confusion this may cause.

About the host:
The video is 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. Heck, 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 in his spare time.

Every month our newsletter is featuring technical blogs on Qt, C++ and 3D topics: https://www.kdab.com/development-resources/sign-up-for-our-newsletter/

About KDAB:
Trusted software excellence across embedded and desktop platforms

The KDAB Group is a globally recognized provider for software consulting, development and training, specializing in embedded devices and complex cross-platform desktop applications. In addition to being leading experts in Qt, C++ and 3D technologies for over two decades, KDAB provides deep expertise across the stack, including Linux, Rust and modern UI frameworks. https://www.kdab.com/software-services.

KDAB experts regularly take time out to deliver KDAB’s world class training, in-house or at open enrollment courses around the world. We are the market leaders for training in Qt/QML, Modern C++, Rust and OpenGL. https://training.kdab.com/ 

With 100+ employees from 20 countries and offices in Sweden, Germany, USA, France and UK, we serve clients around the world. https://www.kdab.com/about/contact/
Introduction to Qt Widgets (Part 57) - Live Coding of a Table Model

In this episode I will live code a model based on QAbstractTableModel.

Chapters:
00:00 Welcome
00:54 The end result
01:50 The starting point
03:29 Creating a QTableView in main.cpp
04:57 Setting up the DepecheModel
07:55 The default implementation by Qt Creator
09:45 Implementing headerData
12:20 Implementing rowCount
13:21 Advertise - Braumeister
13:49 Fixing why nothing showed up
16:08 Implementing columnCount and header for columns
20:01 A bit of cleaning up
20:47 Implementing the data method
25:00 Implementing the check boxes
29:50 Alignment
33:40 Turning the column enum into an enum class
36:47 EnumConverrters.h
42:47 What's next?

Links:
* QWAM episode on flags - https://youtu.be/EGhHlPDeyvg?list=PL6CJYn40gN6gf-G-o6syFwGrtq3kItEqI
* QWAM episode on Github Copilot - https://youtu.be/kQzpvHPeBQo?list=PL6CJYn40gN6gf-G-o6syFwGrtq3kItEqI
* QWAM episode on favorite shortcuts in Qt Creator: https://youtu.be/7Zn6r9HYy6Y?list=PL6CJYn40gN6gf-G-o6syFwGrtq3kItEqI
* Video on Braumeister: https://youtu.be/OFohLXdtCzM?list=PL6CJYn40gN6hWTi9AEI1zSfbmC4Skmokb
* QWAM episode on Clang Format - https://youtu.be/Cz36YveDI2E?list=PL6CJYn40gN6gf-G-o6syFwGrtq3kItEqI

The example code showcased in this video is available here:
https://github.com/KDABLabs/kdabtv/tree/master/Programming-With-Qt-Widgets/modelview

All 'Introduction to Qt Widgets - Module 1' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hgf7zCKF2Rv9Y0WoN8RVGf

All 'Introduction to Qt Widgets - Module 2' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6j_c41CFMprvg9EiWz0WdSy

All 'Introduction to Qt Widgets - Module 3' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6hWZO_viEf1rfjgk4E6SCKd

All 'Introduction to Qt Widgets - Module 4' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6iXUNQMb2GkEjV_oK6Xid9-

All 'Introduction to Qt Widgets - Module 5' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6h1tsLAETdrrFlsVMeYpiHI

All 'Introduction to Qt Widgets - Module 6' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6jIsRYriqN70V83t_mdDZHT

All 'Introduction to Qt Widgets - Module 7' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hHyqD9ZxUqpd14LoHvadN7

All 'Introduction to Qt Widgets - Module 8' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6iCb8g5NSfVqX0JRFzFnxak

Please note that non-English dubs for all KDAB videos are auto-generated. These translations have not been moderated by us and may contain inaccuracies. We appreciate your understanding and apologize for any confusion this may cause.

About the host:
The video is 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. Heck, 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 in his spare time.

Every month our newsletter is featuring technical blogs on Qt, C++ and 3D topics: https://www.kdab.com/development-resources/sign-up-for-our-newsletter/

About KDAB:
Trusted software excellence across embedded and desktop platforms

The KDAB Group is a globally recognized provider for software consulting, development and training, specializing in embedded devices and complex cross-platform desktop applications. In addition to being leading experts in Qt, C++ and 3D technologies for over two decades, KDAB provides deep expertise across the stack, including Linux, Rust and modern UI frameworks. https://www.kdab.com/software-services.

KDAB experts regularly take time out to deliver KDAB’s world class training, in-house or at open enrollment courses around the world. We are the market leaders for training in Qt/QML, Modern C++, Rust and OpenGL. https://training.kdab.com/

With 100+ employees from 20 countries and offices in Sweden, Germany, USA, France and UK, we serve clients around the world. https://www.kdab.com/about/contact/

YouTube Video VVVqc0prVEpTWjVHN2V3SDJ1ZjA4dDBBLnVuWVd4SUp0cV9J

Introduction to Qt Widgets (Part 57) - Live Coding of a Table Model

It is finally time to learn how to implement our own models. We will start with lists and tables in this episode, and later move on to tree models.

Chapters:
00:00 Welcome
00:32 List Models
01:51 rowCount() for lists
03:03 data() for lists
03:35 Remember to look at role - hint: USA!
04:54 Separation of business logic and representation
05:51 Advertise: Rust training
06:06 Editable models
06:55 flags()
07:04 setData()
08:17 emit dataChanged
11:00 Structural changes
17:19 Tables
19:07 What's next?

Links: 
* Episode on QVariant: https://youtu.be/c99eN8qVmHg?list=PL6CJYn40gN6iFcTyItvnE5nOmJR8qk_7o
* QWAM Episode on implementing a complete proxy model: 
 * Part 1: https://youtu.be/fPy0nuGWTZk?list=PL6CJYn40gN6gf-G-o6syFwGrtq3kItEqI
 * Part 2: https://youtu.be/7wObo3LVcWA?list=PL6CJYn40gN6gf-G-o6syFwGrtq3kItEqI
* KDAB Rust Training Portfolio: https://training.kdab.com/portfolio/rust/

The example code showcased in this video is available here: 
https://github.com/KDABLabs/kdabtv/tree/master/Programming-With-Qt-Widgets/modelview

All 'Introduction to Qt Widgets - Module 1' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hgf7zCKF2Rv9Y0WoN8RVGf

All 'Introduction to Qt Widgets - Module 2' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6j_c41CFMprvg9EiWz0WdSy

All 'Introduction to Qt Widgets - Module 3' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6hWZO_viEf1rfjgk4E6SCKd

All 'Introduction to Qt Widgets - Module 4' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6iXUNQMb2GkEjV_oK6Xid9-

All 'Introduction to Qt Widgets - Module 5' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6h1tsLAETdrrFlsVMeYpiHI

All 'Introduction to Qt Widgets - Module 6' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6jIsRYriqN70V83t_mdDZHT

All 'Introduction to Qt Widgets - Module 7' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hHyqD9ZxUqpd14LoHvadN7

All 'Introduction to Qt Widgets - Module 8' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6iCb8g5NSfVqX0JRFzFnxak

Please note that non-English dubs for all KDAB videos are auto-generated. These translations have not been moderated by us and may contain inaccuracies. We appreciate your understanding and apologize for any confusion this may cause.

About the host:
The video is 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. Heck, 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 in his spare time.

Every month our newsletter is featuring technical blogs on Qt, C++ and 3D topics: https://www.kdab.com/development-resources/sign-up-for-our-newsletter/

About KDAB:
Trusted software excellence across embedded and desktop platforms

The KDAB Group is a globally recognized provider for software consulting, development and training, specializing in embedded devices and complex cross-platform desktop applications. In addition to being leading experts in Qt, C++ and 3D technologies for over two decades, KDAB provides deep expertise across the stack, including Linux, Rust and modern UI frameworks. https://www.kdab.com/software-services.

KDAB experts regularly take time out to deliver KDAB’s world class training, in-house or at open enrollment courses around the world. We are the market leaders for training in Qt/QML, Modern C++, Rust and OpenGL. https://training.kdab.com/ 

With 100+ employees from 20 countries and offices in Sweden, Germany, USA, France and UK, we serve clients around the world. https://www.kdab.com/about/contact/
Introduction to Qt Widgets (Part 56) - List and Table Model

It is finally time to learn how to implement our own models. We will start with lists and tables in this episode, and later move on to tree models.

Chapters:
00:00 Welcome
00:32 List Models
01:51 rowCount() for lists
03:03 data() for lists
03:35 Remember to look at role - hint: USA!
04:54 Separation of business logic and representation
05:51 Advertise: Rust training
06:06 Editable models
06:55 flags()
07:04 setData()
08:17 emit dataChanged
11:00 Structural changes
17:19 Tables
19:07 What's next?

Links:
* Episode on QVariant: https://youtu.be/c99eN8qVmHg?list=PL6CJYn40gN6iFcTyItvnE5nOmJR8qk_7o
* QWAM Episode on implementing a complete proxy model:
* Part 1: https://youtu.be/fPy0nuGWTZk?list=PL6CJYn40gN6gf-G-o6syFwGrtq3kItEqI
* Part 2: https://youtu.be/7wObo3LVcWA?list=PL6CJYn40gN6gf-G-o6syFwGrtq3kItEqI
* KDAB Rust Training Portfolio: https://training.kdab.com/portfolio/rust/

The example code showcased in this video is available here:
https://github.com/KDABLabs/kdabtv/tree/master/Programming-With-Qt-Widgets/modelview

All 'Introduction to Qt Widgets - Module 1' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hgf7zCKF2Rv9Y0WoN8RVGf

All 'Introduction to Qt Widgets - Module 2' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6j_c41CFMprvg9EiWz0WdSy

All 'Introduction to Qt Widgets - Module 3' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6hWZO_viEf1rfjgk4E6SCKd

All 'Introduction to Qt Widgets - Module 4' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6iXUNQMb2GkEjV_oK6Xid9-

All 'Introduction to Qt Widgets - Module 5' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6h1tsLAETdrrFlsVMeYpiHI

All 'Introduction to Qt Widgets - Module 6' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6jIsRYriqN70V83t_mdDZHT

All 'Introduction to Qt Widgets - Module 7' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hHyqD9ZxUqpd14LoHvadN7

All 'Introduction to Qt Widgets - Module 8' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6iCb8g5NSfVqX0JRFzFnxak

Please note that non-English dubs for all KDAB videos are auto-generated. These translations have not been moderated by us and may contain inaccuracies. We appreciate your understanding and apologize for any confusion this may cause.

About the host:
The video is 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. Heck, 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 in his spare time.

Every month our newsletter is featuring technical blogs on Qt, C++ and 3D topics: https://www.kdab.com/development-resources/sign-up-for-our-newsletter/

About KDAB:
Trusted software excellence across embedded and desktop platforms

The KDAB Group is a globally recognized provider for software consulting, development and training, specializing in embedded devices and complex cross-platform desktop applications. In addition to being leading experts in Qt, C++ and 3D technologies for over two decades, KDAB provides deep expertise across the stack, including Linux, Rust and modern UI frameworks. https://www.kdab.com/software-services.

KDAB experts regularly take time out to deliver KDAB’s world class training, in-house or at open enrollment courses around the world. We are the market leaders for training in Qt/QML, Modern C++, Rust and OpenGL. https://training.kdab.com/

With 100+ employees from 20 countries and offices in Sweden, Germany, USA, France and UK, we serve clients around the world. https://www.kdab.com/about/contact/

YouTube Video VVVqc0prVEpTWjVHN2V3SDJ1ZjA4dDBBLnlwZTh1TzZISnZv

Introduction to Qt Widgets (Part 56) - List and Table Model

In the previous episode we saw the very high level view of model/view. So, we will now start our decent towards actual code, but on the way there we will discuss two very crucial things, namely:
- How do we address the individual items in the views (for a table it is simple: (row 12, column 15), but  how about a tree?
- What properties can we get for each cell?  (the answer includes: the text, its foreground and background color, and much much more)

Chapters:
00:00 Welcome
00:29 Understanding why we need model indexes.
06:10 Wrapping the void pointer in a class - QModelIndex
07:08 The API for QModelIndex
07:32 QModelIndex::isValid()
11:57 QModelIndex::model()
12:56 The code inside QTreeView - addressing the data
15:27 Getting to the data - item roles
17:40 Why only a data method, and not text, icon, text color methods?
19:47 Edit Role vs. Display Role
21:37 Why is it so difficult?
23:33 Advertise: Multi-threading training
23:50 QPersistentModelIndex
27:14 What's next?

Links: 
* KDAB Multi-threading Training Course: https://training.kdab.com/portfolio/in-depth-multithreading-with-qt/

The example code showcased in this video is available here: 
https://github.com/KDABLabs/kdabtv/tree/master/Programming-With-Qt-Widgets/modelview

All 'Introduction to Qt Widgets - Module 1' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hgf7zCKF2Rv9Y0WoN8RVGf

All 'Introduction to Qt Widgets - Module 2' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6j_c41CFMprvg9EiWz0WdSy

All 'Introduction to Qt Widgets - Module 3' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6hWZO_viEf1rfjgk4E6SCKd

All 'Introduction to Qt Widgets - Module 4' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6iXUNQMb2GkEjV_oK6Xid9-

All 'Introduction to Qt Widgets - Module 5' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6h1tsLAETdrrFlsVMeYpiHI

All 'Introduction to Qt Widgets - Module 6' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6jIsRYriqN70V83t_mdDZHT

All 'Introduction to Qt Widgets - Module 7' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hHyqD9ZxUqpd14LoHvadN7

All 'Introduction to Qt Widgets - Module 8' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6iCb8g5NSfVqX0JRFzFnxak

Please note that non-English dubs for all KDAB videos are auto-generated. These translations have not been moderated by us and may contain inaccuracies. We appreciate your understanding and apologize for any confusion this may cause.

About the host:
The video is 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. Heck, 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 in his spare time.

Every month our newsletter is featuring technical blogs on Qt, C++ and 3D topics: https://www.kdab.com/development-resources/sign-up-for-our-newsletter/

About KDAB:
Trusted software excellence across embedded and desktop platforms

The KDAB Group is a globally recognized provider for software consulting, development and training, specializing in embedded devices and complex cross-platform desktop applications. In addition to being leading experts in Qt, C++ and 3D technologies for over two decades, KDAB provides deep expertise across the stack, including Linux, Rust and modern UI frameworks. https://www.kdab.com/software-services.

KDAB experts regularly take time out to deliver KDAB’s world class training, in-house or at open enrollment courses around the world. We are the market leaders for training in Qt/QML, Modern C++, Rust and OpenGL. https://training.kdab.com/ 

With 100+ employees from 20 countries and offices in Sweden, Germany, USA, France and UK, we serve clients around the world. https://www.kdab.com/about/contact/
Introduction to Qt Widgets (Part 55) - Accessing Data

In the previous episode we saw the very high level view of model/view. So, we will now start our decent towards actual code, but on the way there we will discuss two very crucial things, namely:
- How do we address the individual items in the views (for a table it is simple: (row 12, column 15), but how about a tree?
- What properties can we get for each cell? (the answer includes: the text, its foreground and background color, and much much more)

Chapters:
00:00 Welcome
00:29 Understanding why we need model indexes.
06:10 Wrapping the void pointer in a class - QModelIndex
07:08 The API for QModelIndex
07:32 QModelIndex::isValid()
11:57 QModelIndex::model()
12:56 The code inside QTreeView - addressing the data
15:27 Getting to the data - item roles
17:40 Why only a data method, and not text, icon, text color methods?
19:47 Edit Role vs. Display Role
21:37 Why is it so difficult?
23:33 Advertise: Multi-threading training
23:50 QPersistentModelIndex
27:14 What's next?

Links:
* KDAB Multi-threading Training Course: https://training.kdab.com/portfolio/in-depth-multithreading-with-qt/

The example code showcased in this video is available here:
https://github.com/KDABLabs/kdabtv/tree/master/Programming-With-Qt-Widgets/modelview

All 'Introduction to Qt Widgets - Module 1' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hgf7zCKF2Rv9Y0WoN8RVGf

All 'Introduction to Qt Widgets - Module 2' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6j_c41CFMprvg9EiWz0WdSy

All 'Introduction to Qt Widgets - Module 3' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6hWZO_viEf1rfjgk4E6SCKd

All 'Introduction to Qt Widgets - Module 4' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6iXUNQMb2GkEjV_oK6Xid9-

All 'Introduction to Qt Widgets - Module 5' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6h1tsLAETdrrFlsVMeYpiHI

All 'Introduction to Qt Widgets - Module 6' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6jIsRYriqN70V83t_mdDZHT

All 'Introduction to Qt Widgets - Module 7' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hHyqD9ZxUqpd14LoHvadN7

All 'Introduction to Qt Widgets - Module 8' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6iCb8g5NSfVqX0JRFzFnxak

Please note that non-English dubs for all KDAB videos are auto-generated. These translations have not been moderated by us and may contain inaccuracies. We appreciate your understanding and apologize for any confusion this may cause.

About the host:
The video is 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. Heck, 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 in his spare time.

Every month our newsletter is featuring technical blogs on Qt, C++ and 3D topics: https://www.kdab.com/development-resources/sign-up-for-our-newsletter/

About KDAB:
Trusted software excellence across embedded and desktop platforms

The KDAB Group is a globally recognized provider for software consulting, development and training, specializing in embedded devices and complex cross-platform desktop applications. In addition to being leading experts in Qt, C++ and 3D technologies for over two decades, KDAB provides deep expertise across the stack, including Linux, Rust and modern UI frameworks. https://www.kdab.com/software-services.

KDAB experts regularly take time out to deliver KDAB’s world class training, in-house or at open enrollment courses around the world. We are the market leaders for training in Qt/QML, Modern C++, Rust and OpenGL. https://training.kdab.com/

With 100+ employees from 20 countries and offices in Sweden, Germany, USA, France and UK, we serve clients around the world. https://www.kdab.com/about/contact/

YouTube Video VVVqc0prVEpTWjVHN2V3SDJ1ZjA4dDBBLkdOaTl5T1hsd3g0

Introduction to Qt Widgets (Part 55) - Accessing Data

After two episodes talking about the item versions of lists, tables, and trees, we now turn our attention to the model/view version of that story.

Using model/view offers a great opportunity to do a separation between business logic and presentation.

In this episode we will start the journey from 10.000 feet, learning how each of the parts fits together.

Chapters:
00:00 Welcome
00:42 So what is model/view? - One definition I didn't understand
02:35 Model/view for lists, tables and trees
03:55 Advertise: profiling training
04:10 Model/View isn't the right name
05:26 Some examples of models
08:47 QAbstractItemModel
11:20 The key problem in Qt's Model/view framework
14:20 The views
16:26 The example
18:12 The relationship model, view, and delegate

Links: 
* KDAB Profiling Training Portfolio: https://training.kdab.com/portfolio/debugging-and-profiling/
* KPhotoAlbum: https://www.kphotoalbum.org/

The example code showcased in this video is available here: 
https://github.com/KDABLabs/kdabtv/tree/master/Programming-With-Qt-Widgets/modelview

All 'Introduction to Qt Widgets - Module 1' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hgf7zCKF2Rv9Y0WoN8RVGf

All 'Introduction to Qt Widgets - Module 2' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6j_c41CFMprvg9EiWz0WdSy

All 'Introduction to Qt Widgets - Module 3' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6hWZO_viEf1rfjgk4E6SCKd

All 'Introduction to Qt Widgets - Module 4' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6iXUNQMb2GkEjV_oK6Xid9-

All 'Introduction to Qt Widgets - Module 5' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6h1tsLAETdrrFlsVMeYpiHI

All 'Introduction to Qt Widgets - Module 6' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6jIsRYriqN70V83t_mdDZHT

All 'Introduction to Qt Widgets - Module 7' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hHyqD9ZxUqpd14LoHvadN7

All 'Introduction to Qt Widgets - Module 8' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6iCb8g5NSfVqX0JRFzFnxak

Please note that non-English dubs for all KDAB videos are auto-generated. These translations have not been moderated by us and may contain inaccuracies. We appreciate your understanding and apologize for any confusion this may cause.

About the host:
The video is 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. Heck, 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 in his spare time.

Every month our newsletter is featuring technical blogs on Qt, C++ and 3D topics: https://www.kdab.com/development-resources/sign-up-for-our-newsletter/

About KDAB:
Trusted software excellence across embedded and desktop platforms

The KDAB Group is a globally recognized provider for software consulting, development and training, specializing in embedded devices and complex cross-platform desktop applications. In addition to being leading experts in Qt, C++ and 3D technologies for over two decades, KDAB provides deep expertise across the stack, including Linux, Rust and modern UI frameworks. https://www.kdab.com/software-services.

KDAB experts regularly take time out to deliver KDAB’s world class training, in-house or at open enrollment courses around the world. We are the market leaders for training in Qt/QML, Modern C++, Rust and OpenGL. https://training.kdab.com/ 

With 100+ employees from 20 countries and offices in Sweden, Germany, USA, France and UK, we serve clients around the world. https://www.kdab.com/about/contact/
Introduction to Qt Widgets (Part 54) - Model/View Concepts

After two episodes talking about the item versions of lists, tables, and trees, we now turn our attention to the model/view version of that story.

Using model/view offers a great opportunity to do a separation between business logic and presentation.

In this episode we will start the journey from 10.000 feet, learning how each of the parts fits together.

Chapters:
00:00 Welcome
00:42 So what is model/view? - One definition I didn't understand
02:35 Model/view for lists, tables and trees
03:55 Advertise: profiling training
04:10 Model/View isn't the right name
05:26 Some examples of models
08:47 QAbstractItemModel
11:20 The key problem in Qt's Model/view framework
14:20 The views
16:26 The example
18:12 The relationship model, view, and delegate

Links:
* KDAB Profiling Training Portfolio: https://training.kdab.com/portfolio/debugging-and-profiling/
* KPhotoAlbum: https://www.kphotoalbum.org/

The example code showcased in this video is available here:
https://github.com/KDABLabs/kdabtv/tree/master/Programming-With-Qt-Widgets/modelview

All 'Introduction to Qt Widgets - Module 1' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hgf7zCKF2Rv9Y0WoN8RVGf

All 'Introduction to Qt Widgets - Module 2' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6j_c41CFMprvg9EiWz0WdSy

All 'Introduction to Qt Widgets - Module 3' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6hWZO_viEf1rfjgk4E6SCKd

All 'Introduction to Qt Widgets - Module 4' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6iXUNQMb2GkEjV_oK6Xid9-

All 'Introduction to Qt Widgets - Module 5' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6h1tsLAETdrrFlsVMeYpiHI

All 'Introduction to Qt Widgets - Module 6' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6jIsRYriqN70V83t_mdDZHT

All 'Introduction to Qt Widgets - Module 7' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hHyqD9ZxUqpd14LoHvadN7

All 'Introduction to Qt Widgets - Module 8' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6iCb8g5NSfVqX0JRFzFnxak

Please note that non-English dubs for all KDAB videos are auto-generated. These translations have not been moderated by us and may contain inaccuracies. We appreciate your understanding and apologize for any confusion this may cause.

About the host:
The video is 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. Heck, 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 in his spare time.

Every month our newsletter is featuring technical blogs on Qt, C++ and 3D topics: https://www.kdab.com/development-resources/sign-up-for-our-newsletter/

About KDAB:
Trusted software excellence across embedded and desktop platforms

The KDAB Group is a globally recognized provider for software consulting, development and training, specializing in embedded devices and complex cross-platform desktop applications. In addition to being leading experts in Qt, C++ and 3D technologies for over two decades, KDAB provides deep expertise across the stack, including Linux, Rust and modern UI frameworks. https://www.kdab.com/software-services.

KDAB experts regularly take time out to deliver KDAB’s world class training, in-house or at open enrollment courses around the world. We are the market leaders for training in Qt/QML, Modern C++, Rust and OpenGL. https://training.kdab.com/

With 100+ employees from 20 countries and offices in Sweden, Germany, USA, France and UK, we serve clients around the world. https://www.kdab.com/about/contact/

YouTube Video VVVqc0prVEpTWjVHN2V3SDJ1ZjA4dDBBLmpRTE5sVzhHUmhV

Introduction to Qt Widgets (Part 54) - Model/View Concepts

In this episode, we will continue looking at the item based widgets for lists, tables, and trees. We will cover "the current item", selection, sorting and event handling.

Chapters:
00:00 Introduction
01:08 Selection and Keyboard Focus
03:55 ... from a programming point of view
06:10 The tree example
11:21 Sorting
13:00 Advertise: 3D trainings
13:14 Some code showing sorting
15:08 Event handling
18:35 What's up next

Links: 
* KDAB 3D/OpenGL Training Portfolio: https://training.kdab.com/portfolio/3dopengl/

The example code showcased in this video is available here: 
https://github.com/KDABLabs/kdabtv/tree/master/Programming-With-Qt-Widgets/modelview

All 'Introduction to Qt Widgets - Module 1' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hgf7zCKF2Rv9Y0WoN8RVGf

All 'Introduction to Qt Widgets - Module 2' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6j_c41CFMprvg9EiWz0WdSy

All 'Introduction to Qt Widgets - Module 3' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6hWZO_viEf1rfjgk4E6SCKd

All 'Introduction to Qt Widgets - Module 4' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6iXUNQMb2GkEjV_oK6Xid9-

All 'Introduction to Qt Widgets - Module 5' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6h1tsLAETdrrFlsVMeYpiHI

All 'Introduction to Qt Widgets - Module 6' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6jIsRYriqN70V83t_mdDZHT

All 'Introduction to Qt Widgets - Module 7' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hHyqD9ZxUqpd14LoHvadN7

All 'Introduction to Qt Widgets - Module 8' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6iCb8g5NSfVqX0JRFzFnxak

Please note that non-English dubs for all KDAB videos are auto-generated. These translations have not been moderated by us and may contain inaccuracies. We appreciate your understanding and apologize for any confusion this may cause.

About the host:
The video is 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. Heck, 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 in his spare time.

Every month our newsletter is featuring technical blogs on Qt, C++ and 3D topics: https://www.kdab.com/development-resources/sign-up-for-our-newsletter/

About KDAB:
Trusted software excellence across embedded and desktop platforms

The KDAB Group is a globally recognized provider for software consulting, development and training, specializing in embedded devices and complex cross-platform desktop applications. In addition to being leading experts in Qt, C++ and 3D technologies for over two decades, KDAB provides deep expertise across the stack, including Linux, Rust and modern UI frameworks. https://www.kdab.com/software-services.

KDAB experts regularly take time out to deliver KDAB’s world class training, in-house or at open enrollment courses around the world. We are the market leaders for training in Qt/QML, Modern C++, Rust and OpenGL. https://training.kdab.com/ 

With 100+ employees from 20 countries and offices in Sweden, Germany, USA, France and UK, we serve clients around the world. https://www.kdab.com/about/contact/
Introduction to Qt Widgets (Part 53) - Item Widgets - Interaction

In this episode, we will continue looking at the item based widgets for lists, tables, and trees. We will cover "the current item", selection, sorting and event handling.

Chapters:
00:00 Introduction
01:08 Selection and Keyboard Focus
03:55 ... from a programming point of view
06:10 The tree example
11:21 Sorting
13:00 Advertise: 3D trainings
13:14 Some code showing sorting
15:08 Event handling
18:35 What's up next

Links:
* KDAB 3D/OpenGL Training Portfolio: https://training.kdab.com/portfolio/3dopengl/

The example code showcased in this video is available here:
https://github.com/KDABLabs/kdabtv/tree/master/Programming-With-Qt-Widgets/modelview

All 'Introduction to Qt Widgets - Module 1' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hgf7zCKF2Rv9Y0WoN8RVGf

All 'Introduction to Qt Widgets - Module 2' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6j_c41CFMprvg9EiWz0WdSy

All 'Introduction to Qt Widgets - Module 3' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6hWZO_viEf1rfjgk4E6SCKd

All 'Introduction to Qt Widgets - Module 4' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6iXUNQMb2GkEjV_oK6Xid9-

All 'Introduction to Qt Widgets - Module 5' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6h1tsLAETdrrFlsVMeYpiHI

All 'Introduction to Qt Widgets - Module 6' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6jIsRYriqN70V83t_mdDZHT

All 'Introduction to Qt Widgets - Module 7' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hHyqD9ZxUqpd14LoHvadN7

All 'Introduction to Qt Widgets - Module 8' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6iCb8g5NSfVqX0JRFzFnxak

Please note that non-English dubs for all KDAB videos are auto-generated. These translations have not been moderated by us and may contain inaccuracies. We appreciate your understanding and apologize for any confusion this may cause.

About the host:
The video is 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. Heck, 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 in his spare time.

Every month our newsletter is featuring technical blogs on Qt, C++ and 3D topics: https://www.kdab.com/development-resources/sign-up-for-our-newsletter/

About KDAB:
Trusted software excellence across embedded and desktop platforms

The KDAB Group is a globally recognized provider for software consulting, development and training, specializing in embedded devices and complex cross-platform desktop applications. In addition to being leading experts in Qt, C++ and 3D technologies for over two decades, KDAB provides deep expertise across the stack, including Linux, Rust and modern UI frameworks. https://www.kdab.com/software-services.

KDAB experts regularly take time out to deliver KDAB’s world class training, in-house or at open enrollment courses around the world. We are the market leaders for training in Qt/QML, Modern C++, Rust and OpenGL. https://training.kdab.com/

With 100+ employees from 20 countries and offices in Sweden, Germany, USA, France and UK, we serve clients around the world. https://www.kdab.com/about/contact/

YouTube Video VVVqc0prVEpTWjVHN2V3SDJ1ZjA4dDBBLjZGR1BrNXhXamR3

Introduction to Qt Widgets (Part 53) - Item Widgets - Interaction

Qt has two kinds of lists, tables, and trees. One kind uses a model/view setup which gives a great separation between data and presentation. The other one is item based, meaning your data is stored in the items, just like the checked value is stored inside the checkbox.

The disadvantage with the model/view framework is that it is more work to set up, which is why we will start this module with the much simpler item based version.

Chapters:
00:00 Introduction
00:45 The Widget versus the View classes
03:55 QListWidget
08:40 QTableWidget
10:16 The table widget example
15:47 Advertise - can you help us with a USB driver?
16:11 QTableWidget::addItem - of course doesn't exist
16:55 QTreeWidget
20:35 The tree widget example
24:00 Compare the API of list, table, and tree
24:35 Configuring items
27:00 Headers
29:06 Whats up in the next episode

Links: 
* Table View Galore : https://youtu.be/F8min4ZZJaI?list=PL6CJYn40gN6gf-G-o6syFwGrtq3kItEqI
* Episode on Resources: https://youtu.be/BIES4pOVtz8?list=PL6CJYn40gN6iFcTyItvnE5nOmJR8qk_7o

The example code showcased in this video is available here: 
https://github.com/KDABLabs/kdabtv/tree/master/Programming-With-Qt-Widgets/modelview

All 'Introduction to Qt Widgets - Module 1' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hgf7zCKF2Rv9Y0WoN8RVGf

All 'Introduction to Qt Widgets - Module 2' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6j_c41CFMprvg9EiWz0WdSy

All 'Introduction to Qt Widgets - Module 3' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6hWZO_viEf1rfjgk4E6SCKd

All 'Introduction to Qt Widgets - Module 4' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6iXUNQMb2GkEjV_oK6Xid9-

All 'Introduction to Qt Widgets - Module 5' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6h1tsLAETdrrFlsVMeYpiHI

All 'Introduction to Qt Widgets - Module 6' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6jIsRYriqN70V83t_mdDZHT

All 'Introduction to Qt Widgets - Module 7' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hHyqD9ZxUqpd14LoHvadN7

All 'Introduction to Qt Widgets - Module 8' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6iCb8g5NSfVqX0JRFzFnxak

Please note that non-English dubs for all KDAB videos are auto-generated. These translations have not been moderated by us and may contain inaccuracies. We appreciate your understanding and apologize for any confusion this may cause.

About the host:
The video is 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. Heck, 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 in his spare time.

Every month our newsletter is featuring technical blogs on Qt, C++ and 3D topics: https://www.kdab.com/development-resources/sign-up-for-our-newsletter/

About KDAB:
Trusted software excellence across embedded and desktop platforms

The KDAB Group is a globally recognized provider for software consulting, development and training, specializing in embedded devices and complex cross-platform desktop applications. In addition to being leading experts in Qt, C++ and 3D technologies for over two decades, KDAB provides deep expertise across the stack, including Linux, Rust and modern UI frameworks. https://www.kdab.com/software-services.

KDAB experts regularly take time out to deliver KDAB’s world class training, in-house or at open enrollment courses around the world. We are the market leaders for training in Qt/QML, Modern C++, Rust and OpenGL. https://training.kdab.com/ 

With 100+ employees from 20 countries and offices in Sweden, Germany, USA, France and UK, we serve clients around the world. https://www.kdab.com/about/contact/
Introduction to Qt Widgets (Part 52) - Item Views

Qt has two kinds of lists, tables, and trees. One kind uses a model/view setup which gives a great separation between data and presentation. The other one is item based, meaning your data is stored in the items, just like the checked value is stored inside the checkbox.

The disadvantage with the model/view framework is that it is more work to set up, which is why we will start this module with the much simpler item based version.

Chapters:
00:00 Introduction
00:45 The Widget versus the View classes
03:55 QListWidget
08:40 QTableWidget
10:16 The table widget example
15:47 Advertise - can you help us with a USB driver?
16:11 QTableWidget::addItem - of course doesn't exist
16:55 QTreeWidget
20:35 The tree widget example
24:00 Compare the API of list, table, and tree
24:35 Configuring items
27:00 Headers
29:06 Whats up in the next episode

Links:
* Table View Galore : https://youtu.be/F8min4ZZJaI?list=PL6CJYn40gN6gf-G-o6syFwGrtq3kItEqI
* Episode on Resources: https://youtu.be/BIES4pOVtz8?list=PL6CJYn40gN6iFcTyItvnE5nOmJR8qk_7o

The example code showcased in this video is available here:
https://github.com/KDABLabs/kdabtv/tree/master/Programming-With-Qt-Widgets/modelview

All 'Introduction to Qt Widgets - Module 1' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hgf7zCKF2Rv9Y0WoN8RVGf

All 'Introduction to Qt Widgets - Module 2' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6j_c41CFMprvg9EiWz0WdSy

All 'Introduction to Qt Widgets - Module 3' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6hWZO_viEf1rfjgk4E6SCKd

All 'Introduction to Qt Widgets - Module 4' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6iXUNQMb2GkEjV_oK6Xid9-

All 'Introduction to Qt Widgets - Module 5' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6h1tsLAETdrrFlsVMeYpiHI

All 'Introduction to Qt Widgets - Module 6' videos:
https://www.youtube.com/playlist?list=PL6CJYn40gN6jIsRYriqN70V83t_mdDZHT

All 'Introduction to Qt Widgets - Module 7' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hHyqD9ZxUqpd14LoHvadN7

All 'Introduction to Qt Widgets - Module 8' videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6iCb8g5NSfVqX0JRFzFnxak

Please note that non-English dubs for all KDAB videos are auto-generated. These translations have not been moderated by us and may contain inaccuracies. We appreciate your understanding and apologize for any confusion this may cause.

About the host:
The video is 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. Heck, 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 in his spare time.

Every month our newsletter is featuring technical blogs on Qt, C++ and 3D topics: https://www.kdab.com/development-resources/sign-up-for-our-newsletter/

About KDAB:
Trusted software excellence across embedded and desktop platforms

The KDAB Group is a globally recognized provider for software consulting, development and training, specializing in embedded devices and complex cross-platform desktop applications. In addition to being leading experts in Qt, C++ and 3D technologies for over two decades, KDAB provides deep expertise across the stack, including Linux, Rust and modern UI frameworks. https://www.kdab.com/software-services.

KDAB experts regularly take time out to deliver KDAB’s world class training, in-house or at open enrollment courses around the world. We are the market leaders for training in Qt/QML, Modern C++, Rust and OpenGL. https://training.kdab.com/

With 100+ employees from 20 countries and offices in Sweden, Germany, USA, France and UK, we serve clients around the world. https://www.kdab.com/about/contact/

YouTube Video VVVqc0prVEpTWjVHN2V3SDJ1ZjA4dDBBLnBVNjZuY29FZXd3

Introduction to Qt Widgets (Part 52) - Item Views

This YT short summarizes changes needed to have a Qt Quick app work with both Qt 5 and Qt 6. It primarily focuses on required changes to QML and CMake files, but it also mentions other aspects of porting C++ and shaders that are discussed more in depth in other videos.

Links mentioned in this video:
* A reference app that works in Qt 5 and Qt 6:
https://github.com/Cuperino/Display-to-Light-Panels
* Extended lifetime for Qt 5.15: https://www.qt.io/blog/qt-5.15-extended-support-for-subscription-license-holders

Documentation:
https://cmake.org/cmake/help/latest/variable/CMAKE_PREFIX_PATH.html
https://cmake.org/cmake/help/latest/command/option.html
https://doc.qt.io/qt-6/portingguide.html
https://doc.qt.io/qt-6/qtqml-cppintegration-definetypes.html

Related videos: 
https://www.youtube.com/watch?v=nSFIFlLpsTQ
https://www.youtube.com/watch?v=9-8NkKBItCo
https://www.youtube.com/watch?v=gbZZEIAXt3c
https://www.youtube.com/watch?v=YExE43JBhTQ

Please note that non-English dubs for all KDAB videos are auto-generated. These translations have not been moderated by us and may contain inaccuracies. We appreciate your understanding and apologize for any confusion this may cause.

All Introduction to Qt / QML videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hdNC1IGQZfVI707dh9DPRc

All QML tips and tricks videos : https://www.youtube.com/playlist?list=PL6CJYn40gN6jWHP5krsQrVGyYtKh3A3be

About the host: 
Javier Cordero is a Software Engineer experienced with multiple frameworks. He has degrees in Computer Science and Mass Media Communications, and has been developing cross-platform software for Windows and Linux since 2011, and for MacOS since 2016. In his spare time, Javier develops professional grade software for media production, such as QPrompt. He's also an occasional video editor for KDAB.

Every month our newsletter is featuring technical blogs on Qt, C++ and 3D topics: https://www.kdab.com/development-resources/sign-up-for-our-newsletter/

About KDAB: 
Trusted software excellence across embedded and desktop platforms

The KDAB Group is a globally recognized provider for software consulting, development and training, specializing in embedded devices and complex cross-platform desktop applications. In addition to being leading experts in Qt, C++ and 3D technologies for over two decades, KDAB provides deep expertise across the stack, including Linux, Rust and modern UI frameworks. https://www.kdab.com/software-services.

KDAB experts regularly take time out to deliver KDAB’s world class training, in-house or at open enrollment courses around the world. We are the market leaders for training in Qt/QML, Modern C++, Rust and OpenGL. https://training.kdab.com/ 

With 100+ employees from 20 countries and offices in Sweden, Germany, USA, France and UK, we serve clients around the world. https://www.kdab.com/about/contact/
Write QML Compatible with Qt 5 and Qt 6

This YT short summarizes changes needed to have a Qt Quick app work with both Qt 5 and Qt 6. It primarily focuses on required changes to QML and CMake files, but it also mentions other aspects of porting C++ and shaders that are discussed more in depth in other videos.

Links mentioned in this video:
* A reference app that works in Qt 5 and Qt 6:
https://github.com/Cuperino/Display-to-Light-Panels
* Extended lifetime for Qt 5.15: https://www.qt.io/blog/qt-5.15-extended-support-for-subscription-license-holders

Documentation:
https://cmake.org/cmake/help/latest/variable/CMAKE_PREFIX_PATH.html
https://cmake.org/cmake/help/latest/command/option.html
https://doc.qt.io/qt-6/portingguide.html
https://doc.qt.io/qt-6/qtqml-cppintegration-definetypes.html

Related videos:
https://www.youtube.com/watch?v=nSFIFlLpsTQ
https://www.youtube.com/watch?v=9-8NkKBItCo
https://www.youtube.com/watch?v=gbZZEIAXt3c
https://www.youtube.com/watch?v=YExE43JBhTQ

Please note that non-English dubs for all KDAB videos are auto-generated. These translations have not been moderated by us and may contain inaccuracies. We appreciate your understanding and apologize for any confusion this may cause.

All Introduction to Qt / QML videos: https://www.youtube.com/playlist?list=PL6CJYn40gN6hdNC1IGQZfVI707dh9DPRc

All QML tips and tricks videos : https://www.youtube.com/playlist?list=PL6CJYn40gN6jWHP5krsQrVGyYtKh3A3be

About the host:
Javier Cordero is a Software Engineer experienced with multiple frameworks. He has degrees in Computer Science and Mass Media Communications, and has been developing cross-platform software for Windows and Linux since 2011, and for MacOS since 2016. In his spare time, Javier develops professional grade software for media production, such as QPrompt. He's also an occasional video editor for KDAB.

Every month our newsletter is featuring technical blogs on Qt, C++ and 3D topics: https://www.kdab.com/development-resources/sign-up-for-our-newsletter/

About KDAB:
Trusted software excellence across embedded and desktop platforms

The KDAB Group is a globally recognized provider for software consulting, development and training, specializing in embedded devices and complex cross-platform desktop applications. In addition to being leading experts in Qt, C++ and 3D technologies for over two decades, KDAB provides deep expertise across the stack, including Linux, Rust and modern UI frameworks. https://www.kdab.com/software-services.

KDAB experts regularly take time out to deliver KDAB’s world class training, in-house or at open enrollment courses around the world. We are the market leaders for training in Qt/QML, Modern C++, Rust and OpenGL. https://training.kdab.com/

With 100+ employees from 20 countries and offices in Sweden, Germany, USA, France and UK, we serve clients around the world. https://www.kdab.com/about/contact/

YouTube Video VVVqc0prVEpTWjVHN2V3SDJ1ZjA4dDBBLnpRNWhOZ3d1QzRn

Write QML Compatible with Qt 5 and Qt 6