QVarLengthArray is a container class with interesting semantics, not found in any container from the Standard Library. Like an array, it stores elements contiguously in memory. Like a vector, it has dynamic size. But unlike a vector, it does not necessarily store them in heap-allocated memory.
This episode of KDAB News includes: 10 years of Meeting C++; codebrowser.dev; Miłosz Kosobucki talks about codebrowser.dev; CXX-Qt 0.4.0 released; Qt Insight Beta; Announcements.
When working with Qt, the question always arises: "Should I use Qt containers or Standard Library containers?" This isn't a simple binary choice involving just features - ease of use, convenience, familiarity, and interoperability all matter. This video illustrates pros and cons of both options to help you make an informed decision.
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++, […]
NVIDIA is world renowned as a leader in computer graphics, AI, and Data Centre solutions. It nurtures an ecosystem for developers and enables cutting edge 3D Graphics through its GeForce, Quadro, and Tegra lines of GPUs that provide powerful computing ability and cutting-edge features such as ray tracing. NVIDIA supports developers with performance optimization tools […]
In this episode we'll talk about associative containers: containers that map arbitrary keys to values. What are the ones that are provided by Qt? Are there differences between their Qt 5 versions and their Qt 6 versions? Which one should one pick for a given use case? No spoilers – watch until the end (Lächeln)
Every now and then, when I submit some code for a code review, people tell me that I forgot qAsConst. Now I have one more enemy, namely: Clazy! It has also started saying this, and I guess it's about time for me to figure out what is going on. When do I need qAsConst and […]
In this video we discuss the two most used Qt containers: QList and QVector. How do they work? Are they similar to the std counterparts? What has changed in Qt 6 regarding them?
All Qt containers have a specific feature: they are "implicitly shared", also known as "copy on write". What does that mean exactly? What are the advantages for developers who use these containers? Are there any downsides?
This episode of KDAB News includes: Interview with new Qt Chief Maintainer Volker Hilsheimer; Qt World Summit 2022; Tip of the month, and Announcements.
Containers are data structures that hold arbitrary amounts of data (lists, maps, etc.). Qt ships with its own container family even though C++ and Python have their own. This video series answers: What are Qt containers' features? Should you use them? How do they differ from C++ Standard Library containers? What changed between Qt 5 and Qt 6?
In this blog on debugging and profiling, I would like to give you an overview of the debugging tools that exist for C and C++ applications. Automated Testing The first thing you need to do is make sure your code is properly tested. This, in itself, is not debugging, but it enables you to make […]
This 'Insights' series video interviews Bruno Coudoin, creator and founder of GCompris, about what inspired him and the software's success. GCompris is free, open-source educational software for kids aged 2-10, built with Qt. Topics include his motivation, open-source approach, development challenges, family support, contributors, project handover, and seeing governments adopt GCompris in school curricula.
When making large code changes, you want to validate there are no side effects. While unit testing is ideal and Squish tests are good, both may be unrealistic. A "better than nothing" solution is running original and modified applications side-by-side and comparing them. This small application easily takes screenshots of each and compares them.
KDAB will be Gold sponsors at this year’s free online edition of Qt World Summit on November 9th, 2022. Our very own Jesper Pedersen will present his talk “Highlights from Qt Widgets and More”. Don’t miss out! Join developers, designers, managers, and executives to get inspired by the latest developments with Qt. Register now and […]
The Closing Keynote to QtDevCon22 from Matthias Dalheimer, Founder, president and CEO of KDAB
I will be talking about text in this post, specifically about cases where you have to handle a lot of it. We are not talking about a general solution, but a specific case that we encountered during a customer project. The Problem The project involved showing a chat room for internal communication. We developed a […]
Many Windows C++ applications use MFC for UI, but Qt offers more modern tools including intuitive APIs, better modern C++ integration, and designer/localization tools. However, migrating large MFC codebases is time-consuming, and while some Qt modules integrate seamlessly, UI-related modules present incompatibilities (like QDialog not being modal for MFC applications). Find out more in this session.
This series often steps into Qt source code to diagnose problems, which is invaluable for understanding issues behind the scenes. However, the source code contains obstacles like Q_D macros and mysterious d and q variables that aren't immediately clear.
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.