KDAB è lieta di annunciare una data italiana per il corso Programmazione Qt/QML per sistemi embedded, che si svolgerà a Milano dal 12 al 14 settembre 2017. Qt è un application framework moderno e ricco di funzionalità, utilizzato per realizzare applicazioni cross-platform per sistemi embedded, mobile e desktop. Qt è usato da oltre 800.000 sviluppatori […]
KDAB on Qt Get the RSS Feed
Posts about Qt, for feeds like planetqt and planetkde
KDAB trainings at CppCon 2017
Registrations for CppCon 2017 have just opened! CppCon is the annual conference for the C++ community: five days packed with amazing talks, inspiring keynotes, panel discussions, hallway chats, fun evening events and much more. CppCon is a project of the Standard C++ Foundation, a not-for-profit organization whose purpose is to support the C++ software developer […]
QStringView Diaries: Masters Of The Overloads How QStringView actively manages implicit conversions
The last blog post in this series described how to use string-views. This post is about how to design one. In particular, it’s about QStringView‘s constructors. They evolved through a rapid succession of changes. These changes either fixed ambiguities between QString and QStringView overloads, or improved performance. And they all have the same solution: std::enable_if, […]
Efficient barcode scanning with QZXing Profiling Qt Zebras Crossing
QZXing is a very useful library: It provides an easy to use Qt integration API around the barcode scanning library ZXing (zebras crossing). Because it is so easy to setup QZXing in a Qt application, we and most of our customers end up using it when they need to scan images for barcodes. There is, or rather […]
Uncovering 32 Qt best practices at compile time with clazy Generating compile-time warnings and automatic refactoring for Qt best practices
In a previous blog post we introduced clazy, a clang plugin which makes the compiler understand Qt semantics, allowing you to get compile-time warnings about Qt best practices ranging from unneeded memory allocations to misuse of API, including fix-its for automatic refactoring. Today we’ll do a round-up and present the checks related to connect statements, […]
Qt 3D Animation Easter Teaser Using Blender and Qt 3D in Qt 5.9 to create, texture, and animate a model
As an Easter treat here is a quick taster of some of the animation goodies coming to Qt 3D along with Qt 5.9. In this post we will briefly outline the steps needed to create a simple Qt 3D application and the assets it uses to produce this little animation:
Disabling narrowing conversions in signal/slot connections
A small new feature that I have added to Qt 5.8 is the possibility of disabling narrowing conversions in the new-style QObject::connect statement. In this short blog post I would like to share with you why I thought this was useful and therefore implemented it. The problem Since Qt 5.0, the new-style, PMF-based (pointer to […]
QStringView Diaries: The Eagle Has Landed QStringView merged for Qt 5.10
After two months of intensive reviews, discussions, fixes, and stripping down the initial commit, feature by feature, to make it acceptable, I am happy to announce that the first QStringView commits have landed in what will eventually become Qt 5.10. Even the docs are already on-line. This is a good time to briefly recapitulate what […]
Safety critical drawing with OpenGL SC The main sticking points when migrating OpenGL ES software to functionally safe OpenGL SC
Bringing software into a safety critical environment can be tricky, especially when using the complex APIs needed for modern 3D graphics. That’s what makes OpenGL SC (Safety Critical) so important: it bridges the gap between beautiful displays and functional safety, while trying to remain as close to existing embedded standards that we all know and love. OpenGL SC will only […]
Clang-Tidy, part 1: Modernize your source code using C++11/C++14 Automated refactoring of your source code using powerful open-source tooling
This blog series will introduce the clang-tidy utility from the Clang/LLVM project and show how to use it to automatically refactor