In this video, you will learn how to let the user drop files onto a Qt widget. The users of your application will appreciate being able to open a file by dragging it from a file manager (for instance), and dropping it onto your application.
GitHub Copilot’s new Agent mode takes AI-assisted coding beyond autocomplete - scanning your whole project to plan and propose cross-language changes. In this post, we test it on a real-world QML/C++ app, showing how Agent mode automates complex refactoring while still requiring developer oversight.
This tutorial shows how to display Qt Widget windows in a Qt Quick application, combining the flexibility of both frameworks. Learn how to manage integration through C++, expose widget properties and signals to QML, and build multi-window UIs for desktop or embedded platforms from real world examples.
A 50 second video with more to demystify the u"..."_s in your C++ code - from Jesper and Giuseppe D'Angelo.
Before sending his files up for code review, Jesper does a self review, where he reviews his changes. Qt Creator has a nice feature for this, but for the longest time he thought the "Diff Selected Files" feature was broken. In this episode he shows you how it really works.
Qt Quick apps can show a white flash during window resizing due to frame lag. This happens when the window’s background doesn’t match the system theme. Use SystemPalette to set a theme-aware background color, ensuring smooth, consistent visuals across platforms.
This YouTube 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.
The "Locator" in Qt Creator offers an extensive set of commands that make programming easier. In this video we show a subset of its features, hidden behind the Ctrl+K shortcut.
Qt Creator provides a lot of useful features, many of which are easily accessible by keyboard shortcuts. This video demonstrates a few shortcuts around code navigation, editing and program execution.
This episode of KDAB News includes: KDAB Training Day 2025: dates, courses and why nd?; Effective Modern QML course by Nicolas Fella - Trainer Overview; How is this course different from the other 2 QML courses?; Other courses information; Qt World Summit 2025: date and tickets
Early-Bird tickets are on sale for the KDAB Training Day 2025 until 2025-03-31 23:59 The KDAB Training Day 2025 will take place in Munich on May 8th, right after the Qt World Summit on May 6th-7th. Choose to buy a combo ticket here (for access to QtWS and Training Day) or here (for access to […]
We just released CXX-Qt version 0.7! CXX-Qt is a set of Rust crates for creating bidirectional Rust ⇄ C++ bindings with Qt. It supports integrating Rust into C++ applications using CMake or building Rust applications with Cargo. CXX-Qt provides tools for implementing QObject subclasses in Rust that can be used from C++, QML, and JavaScript. […]
One of the standard communication protocols for web services is SOAP, which is basically XML over HTTP. I wrote an opensource library called KDSoap which makes it easy to do SOAP with Qt (both client-side and server-side). In this video you will see how, starting from a web service which provides a WSDL file to describe its API, KDSoap can generate code to make synchronous or asynchronous calls to the web service.
In recent years, a lot has been happening to improve performance, maintainability and tooling of QML. Some of those improvements can only take full effect when your code follows modern best practices. Here are 10 things you can do in order to modernize your QML code and take full advantage of QML's capabilities. 1. Use […]
A very common communication protocol is REST, which is simply JSON over HTTP. Qt has all the building blocks for this, with QJsonDocument for JSON and QNetworkAccessManager for HTTP. In this video, you will see a real-world library that makes REST requests to a web service called TMDB (movie database), as an example.
This video shows an alternative way to a DBus client using Qt, using the convenience of blocking calls but without blocking the GUI thread: all blocking calls are done in a separate thread.
This video shows how to implement a DBus client using Qt, using generated code so that calls and their signature are checked at compile time. Special care is taken not to block the GUI thread, using asynchronous handling only (via signals and slots, and a queue of pending requests)
This video shows how to implement a DBus server using Qt, in order to communicate between two processes. The benefits of using DBus include the fact that it's a standard communication protocol on Unix systems especially, and the ability for Qt to generate classes the client can use to make calls in a type-safe way. For now we'll test the server using the qdbus command-line client, the next video will show how to make calls from C++.
We’re pleased to announce the release of KD Reports 2.3.0, the latest version of our reporting tool for Qt applications. This marks our first major update in two years, bringing several bug fixes and new features that further improve the experience of generating reports. What is KD Reports? KD Reports is a versatile tool for […]
Recap In Part 1, we covered PCM audio and superimposing waveforms, and developed an algorithm to combine an arbitrary number of audio streams into one. Now we need to use these ideas to finish a full implementation using Qt Multimedia. Using Qt Multimedia for Audio Device Access So what do we need? Well, we want […]