Skip to content

Qt Get the RSS Feed

KDAB and Qt at Embedded World Nuremberg

Embedded World Nuremberg was bigger than ever this year (over 30,000 visitors!), with a large number of exhibitors displaying “Qt friendly” signs in Hall 4, showing how far we’ve come in recent years

This year KDAB exhibited alongside The Qt Company and other Qt partners at one gigantic stand devoted to all things Qt.

Automotive dominated this year, and a big attraction on the Qt booth was the superb RIMAC electric supercar for which KDAB provided a tablet-based digital brochure, …

What do I do if a slot is not invoked? A practical checklist to debug your signal/slot connections

All Qt developers have asked themselves at least once in their careers: “why isn’t my slot invoked?” (I’ve asked myself that question many, many times).

There are a number of reasons why a connection may fail to be properly set up, and ultimately cause our slot not to be invoked. This blog post is a practical series of checks to help you debug these sorts of issues.

0. Was the slot really not invoked?

First and foremost, are we really …

New in Qt 5.8: meta-object support for namespaces

A small new feature that was added to Qt 5.8 is the ability for moc (Qt’s meta-object compiler) to extract meta-object information at the namespace level. This means, for instance, that you can have introspection support for enumerations defined in a namespace (not just in QObject subclasses, or classes tagged with Q_GADGET), and use such enumerations in QtScript, QtDBus and QML.

Introducing Q_NAMESPACE

The support for all of this involves a few new macros. The most important one is …

Heaptrack v1.0.0 Release First stable release of the fast Linux heap memory profiler

I’m extremely happy to finally announce the first stable release of heaptrack, the FOSS heap memory profiler for C/C++ Linux applications. You can download the source tarball from the KDE mirrors: https://download.kde.org/stable/heaptrack/1.0.0/src/

Heaptrack is a fast heap memory profiler that runs on Linux. It allows you to track all heap memory allocations at run-time. Afterwards, the accompanying GUI tool can be used to find optimization opportunities in your code by analyzing the recorded profiling data. It allows you to:

  • Inspect

KDAB contributions to Qt 5.8

Qt 5.8 has just been released! Another great release of Qt, made possible by thousands of commits by over a hundred different contributors:

Commit percentages to Qt in the last 16 weeks, grouped by employer

And here we are again, with the usual showcase of the most outstanding contributions to Qt 5.8 developed by KDAB engineers.

In no particular order:

Qt 3D

Qt 3D continues to receive lots of improvements and bugfixes, thanks to the hard work of …

GammaRay 2.7.0 Released

We have released version 2.7 of our Qt application introspection tool GammaRay. GammaRay allows you to observe the behavior and data structures of Qt code inside your program live at runtime.

Here are a few of the highlights of this release:

  • The new Qt 3D geometry inspector allows you to look at a wireframe rendering of entity geometries, as well as the raw OpenGL buffer data. Visualizations of normal vectors and backface culling help to identify common problems in geometry

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 named “string_view”.

But this post is not about QStringView — yet. It’s about QStringLiteral and its upcoming sister QStringViewLiteral.…

Un-deprecate your Qt project

The last post from my colleague Marc Mutz about deprecating Q_FOREACH caused quite an uproar amongst the Qt developers who follow this blog.

I personally feel that this was caused fundamentally by a perceived threat: there is a cost associated to porting away a codebase from a well-known construct (Q_FOREACH) to a new and yet-undiscovered construct (C++11’s range based for), especially when the advantages are not that clear. (With stronger advantages, maybe people would be more keen …

“Unboxing” the Android Things Developer Preview

Android Things is Google’s answer to creating an environment for IoT devices. Take a slimmed down Android build, add some sensor-specific APIs, and provide it on a number of powerful pre-integrated micro-boards and you have a ready-made platform for building a host of upcoming IoT devices. Android Things can take advantage of many existing Android libraries, toolkits, and APIs, making it easier and quicker for developers to turn ideas into product. What’s not to like?

We decided to test this …