Blog Archives
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 […]
QStringView Diaries: Advances in QStringLiteral How QStringView Development Also Improves its "Competition"
This is the first in a series of blog posts on QStringView, the std::u16string_view equivalent for Qt. You can read about QStringView in my original post to the Qt development mailing-list, follow its status by tracking the “qstringview” topic on Gerrit and learn about string views in general in Marshall Clow’s CppCon 2015 talk, aptly […]
A Race is a Race is a Race is UB An example of the difference between int, volatile int, and std::atomic
In the last days, I was once again trying to convince fellow programmers that there’s no such thing as a “benign” data race. This is a recurring theme, in particular fueled by the docs of MSVC and Intel x86, which basically seem to say “you don’t need atomics here”. I perused the excellent papers Benign […]
Goodbye, Q_FOREACH A porting guide to C++11 ranged for-loops
Q_FOREACH (or the alternative form, foreach) will be deprecated soon, probably in Qt 5.9. Starting with Qt 5.7, you can use the QT_NO_FOREACH define to make sure that your code does not depend on Q_FOREACH. You may have wondered what all the fuss is about. Why is there a continuous stream of commits going to into Qt […]
Qt on Android: How to run C++ code on Android UI thread Useful features you need on Android that don't have a Qt API
I’d like to start a new series of Qt on Android articles, these will be small articles which will focus on useful features that you’ll need on Android but which don’t have any Qt API (yet). I’ll start with two pretty useful functions. These functions will help us to run C++ code directly on Android […]
What is GammaRay? 3 reasons to start using it today
What is GammaRay? For starters, it’s a powerful electromagnetic wave, as well as a way to treat cancer. It’s also an under-appreciated German speed metal band. And it’s what gives Dr. Bruce Banner his big green alter ego. But Qt aficionados will know the GammaRay that we’re talking about is an uber-powerful Qt debugger and introspection tool. If you’re […]
Tips from the Experts Introduction to a new series
You want to build the cleanest code, the smartest code, the fastest code. You’re the alpha geek on your team, or maybe you aspire to be. You have an all-encompassing need to know. Let me introduce a new series we’re going to be running here on the KDAB blog. I’m Andy Gryc, and for the […]
Qt 3D Technology Preview Released with Qt 5.5.0
KDAB is pleased to announce that the Qt 5.5.0 release includes a Technology Preview of the Qt3D module. Qt3D provides a high-level framework to allow developers to easily add 3D content to Qt applications using either QML or C++ APIs. The Qt3D module is released with the Technology Preview status. This means that Qt3D will […]
KDAB joins Khronos and welcomes Vulkan for next generation graphics
We are proud to announce that KDAB is now a contributor member of the Khronos Group, a not for profit, member-funded consortium focused on the creation of royalty-free open standards for parallel computing, graphics and dynamic media on a wide variety of platforms and devices. As a contributor member of the Khronos Group, KDAB is […]