Rust's slogan "Fast, Reliable, Productive – Pick Three" captures its appeal as a modern programming language offering unparalleled compile-time safety with C/C++ matching performance. Given C/C++'s complexities and security issues, major tech companies are adopting Rust as an alternative, evidenced by the Rust Foundation's formation. KDAB has explored solutions allowing existing Qt developers to integrate this technology.
CMake 3.19 was officially released a couple of months ago, and one of the biggest – and most exciting – new features is the addition of presets. What are presets, you might ask, and why should we be excited about them? Presets are a bunch of pre-set CMake options that enable developers to ensure that […]
In this episode, we will compile the application using both CMake and QMake.
Python is a handy all-purpose language. It can make you very productive within a short time period and has powerful expressiveness for data manipulation and processing. Yet, it's not a great fit for lots of tasks. C++ is far better at achieving anything that needs bare metal performance, deterministic timing, or low-level access. Thankfully, some […]
Whether you're new to unit testing or already write tests, this episode shows how to set up Qt's testing framework and maximize Qt Creator's testing features. Covers Qt's framework versus others, test cases with QCOMPARE, table-driven testing, Qt Creator integration, debugging tests, and CMake integration.
The goal When building C++ code with CMake, it is very common to want to set some pre-processor defines in the CMake code. For instance, we might want to set the project's version number in a single place, in CMake code like this: This sets the CMake variable PROJECT_VERSION to 1.5, which we can then […]
Writing mobile apps can be a lot of fun, especially with Qt and QML. But if your background is all about C++ and Qt, writing the entire required stack for a mobile app can be challenging. Adding push notifications, storing information, and having to write that with another language and framework might make you give […]
If you missed Qt Desktop Days, you might be wondering what you missed. No need to worry! We’re going to give you a day-by-day summary of some of the cool things that were discussed, demoed, and explained. (We’re uploading all of the videos to our YouTube channel, but we’ll provide the direct links to each […]
Découvrez la formation débogage et profilage proposée par KDAB
The KDAB Training Day will be back in Berlin, at the H4 Hotel Berlin Alexanderplatz, on November 27th this year, right before the annual Qt World Summit, which will happen November 28-29th. Ideal to take part in both events! KDAB is well-known for its quality training courses around Qt/QML, Modern C++, Debugging and Profiling, OpenGL, […]
Boost your team's programming skills with in-depth, constantly updated, hands-on training courses delivered by active software engineers who love to teach and share their knowledge.
Following a previous clang-tidy episode, this video covers fine-tuning which checks to enable, including some bad surprises encountered. The result is an improved .clang-tidy file with additional checks, plus a script to generate the file and avoid common problems.
A few weeks ago, we published an article with an overview of Visual Studio Code through the eyes of a Qt developer. In this short blog series, I will show you how to get up to speed with a Qt project using Visual Studio Code more in detail. Before digging into the Qt parts, I'd […]
For a while, I thought Qt Creator's rename symbols and grep had a bug when they didn't find all occurrences. After filing a bug report, I learned it's actually a feature - you need to add all header files to CMakeLists.txt for it to work properly. This video shows how to fix your CMakeLists.txt files.
We had a huge amount of fun at QtCon in Berlin. By far the most commented on was the positive effect of the diversity of attendees, both newcomers (about 30%) and those who came through the five entities involved in bringing the event together: KDAB, Qt Contributors, KDE Akademi, FSFE and VideoLAN, notable also for […]
CppCon: a short interview with the organizer, John Kalb, about turning CppCon into a virtual event. Qt Desktop Days: a new online event hosted by KDAB and including a series of live online talks. Qt 3D is ready for Qt6 and will no longer rely only on OpenGL.
Building system images for embedded devices from the ground up is a very complex process, that involves many different kinds of requirements for the build tooling around it. Traditionally, the most popular build systems used in this context are the Yocto project and buildroot. These build systems make it easy to set up toolchains for […]
We just released CXX-Qt version 0.4! CXX-Qt is a set of Rust crates for creating bidirectional Rust ⇄ C++ bindings with Qt. It can be used to integrate Rust into C++ applications using CMake or build Rust applications with Cargo. CXX-Qt provides tools for implementing QObject subclasses in Rust that can be used from C++, […]
Your compiler likely parses nearly 100,000 lines of code for a simple Qt "Hello World!" program. This episode shows how to see exactly what code is given to the compiler for each source file you compile.
Qt Test is a framework designed for unit testing applications and libraries built with Qt. It provides all the standard features commonly found in unit testing frameworks, making it easier to write unit tests for Qt-based projects. We're happy to introduce the QtTest Runner - a Visual Studio Code extension for running Qt Tests via […]