This video shows how to "overload" templates with two real-world examples: a sort function with general implementation plus char specialization, and a vector implementation with boolean specialization for space efficiency. Finally, we'll see how to make C++ reveal what type a template parameter represents.
In this episode we will start slowly understanding what a template is, but within 15 minutes we will have seen the assembly code generated, have discussed template type parameters and non-type parameters, and finally have discussed template template parameters (no that is not a mistake that it says template twice!)
You have likely heard it before - "no raw for loops, use algorithms instead". In this episode, Jesper will give a few examples of code that became much cleaner when rewritten from raw loops to algorithms.
Further, he will introduce an algorithm library he has written to make it much less painful to write code using algorithms.
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.
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)
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?
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.
The Closing Keynote to QtDevCon22 from Matthias Dalheimer, Founder, president and CEO of KDAB
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.
Your Qt / C++ application is feature complete, you fixed all the bugs, and your unit-tests pass! Time to ship it and get on with your life. Unfortunately, then you start to get reports that it crashes for some people, sometimes, on some machines. But they can’t remember what they were doing. Or know what version they were running. Or whether they’re running macOS or Windows.
During the talk, I will convince you that CI/CD setup is crucial to achieving strategic objectives, especially for long-term projects. You will learn what are the challenges that you can face while building your own setup, what tools to use, and what steps should be executed in CI/CD pipelines to ensure that your app meets quality criteria.
Qt Design Studio bridges the gap between designers and developers by making designer visions compatible with development tools. This graphical editor for Qt Quick and QML includes a free community version for non-commercial users and is available for Linux.