In this video you will learn how to write Python scripts that are called into your C++ application using pybind11, one of the many solutions to do so.
Some time ago, I wrote a post about integrating Qt's associative containers with the fancy new C++ features, range-based for loops with structured bindings. That post inspired KDAB's own Giuseppe D'Angelo to add the asKeyValueRange member function to both QHash and QMap. Now it's possible to iterate over them with a simple range-based for loop, […]
Jesper explores the smoothest way to implement operator<() for custom classes, journeying through std::tie() and std::tuple(), ending with a discussion on QString comparison considering human interpretation.
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.
You have two choices when it comes to giving a custom style to your Qt widgets. Qt Style Sheets are very convenient for getting started -- just a few CSS-like rules, and they work. It is our experience, however, that Qt Style Sheets create too much trouble and a QStyle subclass (*) gives a better […]
Using integers and strings for user IDs, project IDs, and names risks confusion between different types, with compilers unable to catch these errors. This episode shows a wrapper class to make these types unique and discusses Qt integration.
Qt for Python exposes the Qt framework (written in C++) to Python using a binding generation tool called Shiboken. This tool can expose any C++ project to Python, even non-Qt projects.
In this edition we have: Qt DevCon 2022; KDE, the World's First Eco-Certified Software; Tip of the month, the Nlohmann/JSON library.
Developers with Java or C++98 backgrounds often default to subclassing when facing problems. Modern C++ offers many different solutions, and this episode demonstrates when subclassing isn't the right approach.
Designing API's is hard work with lots of traps. Even worse is the situation when you later maintain the code and just need a function to behave slightly different in different situations.
The nlohmann/json library is everything a developer can expect from a modern library -- easy to integrate and JSON objects are treated as first class citizens with a very intuitive API. However, it has one problem that is widely mentioned across the internet, which I'll tell you about below. Various solutions to the problem have […]
Complex applications display lots of information, making it difficult to find layouts that work for every user. KDDockWidgets provides flexibility by letting users reorganize, save, and restore their custom layouts to meet different needs.
In Qt Creator, there is a line edit which has a push button embedded in it for selecting tokens. How did they do that? In this episode, I'll investigate and implement a file chooser based on this idea.
Whether you've just finished watching our 54 "Introduction to Qt/QML" videos or you are just looking for QML tips and tricks, here are 35 more videos that can help you save time and increase your productivity. So check out our Qt Creator tips, our git tips, and much more!
Qt DevCon was a conference for the Qt developer community and focused exclusively on developer topics. It took place place in Berlin, Germany from 14th to 15th June 2022.
Back in August 2021, there was an impressive demonstration of an artificial intelligence able to code web pages and python code. In this video, Jesper demonstrates the KDAB release of Qt Creator with Open AI Codex built in, and show how far you can actually get with it.
C++23 is feature complete and on track to be released next year. While many people are complaining that it's, after all, a "minor" release (as the pandemic made the Committee work very difficult), C++23 still has a few very significant changes. In this blog post, I want to talk about what I think is my […]
Rust has been the most beloved programming language in StackOverflow surveys since 2016, offering safer and easier programming than C++. It's an ideal replacement for C++ backend code in Qt applications. CXX-Qt enables idiomatic integration that seamlessly works with existing C++ and Rust code.
Developers often spend significant time recreating designs or design changes that may not match the designer's vision. When 3D scene changes are involved, the back-and-forth updates become time-consuming and frustrating. Kuesa 3D simplifies this process - simply pointing to an updated glTF file location in your code instantly shows 3D scene changes in your application.
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.