This video introduces the series 'Multimedia with Qt' and defines what is multimedia. It gives an overview of the current state of tasks such as, displaying videos, playing sounds, getting camera feeds as well as an overview of the various libraries that integrate with Qt to do so. It will also help you understand the issues with cross-platform multimedia: codec support, hardware encoding / decoding, ...
You want enum class over just enum, right? That is, however, a bit troublesome with Qt's model/view framework, where you often use int. This episode will introduce a few helpers that will make your life much easier.
In 2019, I optimized QStringList::removeDuplicates() by using std::pmp::unordered_set with a std::pmr::monotonic_buffer_resource, when available. The class that I wrote to encapsulate this optimization has since been re-implemented three times. The latest iteration has recently landed in KDToolBox. If you have code that looks a bit like this: then you should read on. Before my change, the […]
Porting legacy code from Motif, MFC, Photon or previous Qt versions to a more recent Qt version can be a big challenge. Sometimes it's definitely worth the time and money to port software to a new toolkit rather than doing a complete rewrite, other times it's not. This video will show you the most important steps to consider before you start.
The KDE Community has been developing a variety of Free Software products using Qt for 25 years now. Among them, the Plasma Desktop Environment, creativity tools like Krita and Kdenlive, educational applications like GCompris, groupware suites like Kontact and countless other applications, utilities, and widgets. Qt is famous for its rich set of high-quality, cross-platform […]
Version 2.0.0 of KD Reports has just been released! KD Reports creates all kinds of reports from within Qt applications. These reports are printable and exportable from code and XML descriptions. KD Reports is a developer tool used in source code, but it allows the use of templates that are created by design staff. Reports […]
Having covered the effect of Ninja, Clang and CCache in the previous video, Jesper now turns his attention to the speed up gains that can be had with very little work on your side, when using precompiled header support.
One of CMake's strongest points is making it easy to provide and use libraries, in the same project or in different projects. This video explains the feature in more details and shows a simple example.
This is the first in a mini-series on speeding up compilation, and tells the story of switching back to Linux and discovering what worked best in speeding up compile time. The story covers Make vs Ninja, Clang vs Gcc and the effect of using CCache. Whilst some of the material is indeed Linux specific, other sections apply just as well on Mac and Windows.
This video shows and explains the source code of a CMake build definition file (CMakeLists.txt) for a simple Qt application. Although the example is based on Qt 5, the same CMakeLists.txt can be used with Qt 6, by simply replacing '5' with '6' everywhere.
This video introduces the CMake series, starting with: What is CMake? It will also mention the pre-requisites for this series and the topics that will be covered by the other videos in this series.
As the title would suggest, this video compares QMake and CMake, and explains why The Qt Company switched to CMake for Qt 6.
Always try to run the latest version of the tools you're using. They bring bugfixes and more features. Thankfully, upgrading Qt Creator is just a matter of a few clicks -- in the right tool, if you can find it. In this video, Jesper shows how it's done.
KDDockWidgets 1.4.0 has been released! KDDockWidgets is a framework for custom-tailored docking systems in Qt. This is a major release with new features and lots of fixes. KDDockWidgets 1.4.0 Overview The big highlights of KDDockWidgets 1.4.0 are the experimental MDI support and the new declarative API for QtQuick: By using MainWindowMDI, you can now have […]
This video compares the multithreading facilities in Qt with those provided by the C++ standard library. Which one has a semaphore class? A thread pool implementation? A movable lock guard? Which one has the most convenient condition variable API?
Some time ago, I noticed that a unit test was quite slow, using 100% CPU for a number of seconds at one point in the test. I used perf and KDAB's Hotspot to record and examine where the CPU cycles were spent in that unit test, and I quickly noticed that a lot of time […]
Number 30 in the Qt Widgets and More series, this video address the issue where, if you are doing a larger refactoring involving central files, you might end up recompiling over and over again while fixing just a single source file. In these situations, using Qt Creator's ability to recompile only a single file is very useful. But there's more.
In this video, you will learn about communicating between two threads using Qt signals and slots and what is really happening under the hood when you do that. With the help of didactic diagrams, you will learn different ways to set this all up, including possible pitfalls.
This video will show you how you debug loading of the plugins, using strace on Linux and procmon on Windows.
It is our pleasure to introduce a shiny new Maps & Navigation solution for QML developers! This QML plugin is a joint effort between KDAB & Magic Lane (formerly General Magic) to bring the excellent General Magic Maps and Navigation SDK to the QML world. What makes the General Magic QML plugin special? It's easy to use. With […]