Skip to content

Qt Get the RSS Feed

Clazy An open source Clang plugin allowing it to understand Qt semantics

Clazy is a Clang plugin which extends the compiler with over 50 warnings related to Qt best practices ranging from unneeded memory allocations to API misuse. It’s an opensource project spawned by KDAB’s R&D efforts for better C++ tooling.

At KDAB, we have a pretty cool Continuous Integration infrastructure to take care of our customers’ code: the CI team is constantly writing new extensions to support all kinds of linters, static checkers, sanitizers and code coverage tools. So when senior …

Hotspot A GUI for perf report

Hotspot is a KDAB R&D project to create a standalone GUI for performance data. It is a replacement for perf report. Hotspot’s GUI takes a file, parses and evaluates its contents and then displays the result in a graphical way.

Hotspot’s initial goal was to provide a UI like KCachegrind around Linux perf. In future versions we will be supporting various other performance data formats under this umbrella. You can find the source code on our GitHub

GammaRay 2.9.0 Release

We have released version 2.9.0 of our Qt application introspection tool GammaRay. GammaRay allows you to observe behavior and data structures of Qt code inside your program live at runtime. GammaRay 2.9 introduces a number of new features interesting to Qt Quick, QWidgets, Qt 3D and non-graphical Qt users alike.

Qt Quick

One focus area of this release is the paint analyzer. It got significantly improved argument inspection, stack traces for all operations, and, in addition to QWidgets, QGraphicsView …

Nailing 13 signal and slot mistakes with clazy 1.3

Today I want to share 13 mistakes regarding signals, slots and connect statements and how to find them at compile time with clazy, our open-source static-analyzer for Qt.

Clazy is a compiler plugin which generates warnings related to Qt. You can read more about it in our previous blog posts:

Today’s instalment is exclusively about signal/slots, since …

New in Qt 5.10: QThread::create

If you are using Qt and you need to run some code in a separate thread, chances are that you are using QThread for the job. QThread is a very old class in Qt, making its first appearance in Qt 2.2, released on the 22nd of September 2000. Its responsibility is to start a new thread, and let you execute code in that thread.

There are two main ways of running code in a separate thread using QThread:

  1. subclassing

An Unexpected C++ Journey Daniel Vrátil's informal debut at KDAB

Some of you may know that KDAB employees enjoy flexibility on working hours as well as location, and some choose to work from home, with the opportunity to share childcare, do part-time study or simply enjoy an out-of-the-way location. All that’s required is a decent bandwidth for KDAB work.

About once a year, all of KDAB employees come together so we can get to know each other in a different way. Among other things, it allows new members of the …

nanoQuill The Coloring Book Of Life #color4cancer


Through their partnership, Qi and KDAB have developed imaging software to help researchers gain a deeper understanding of the progression of cancer on a cellular level, using Qt.

Qi, KDAB and Qt have now taken their collaboration one step further by introducing nanoQuill, otherwise known as “The Coloring Book of Life,” which is a crowdsourced coloring book and mobile app that gives anybody the opportunity to color cancer images to help annotate organelles inside those electron microscopy …

KDAB at Qt World Summit 2017

This year Qt World Summit was held once more at the Berlin Congress Centre, in central Berlin and had over 1000 attendees – clear testimony to the growth of the Qt Community, as Qt enables our interfaces with the world in multiple areas, from medical to automotive, from gaming to industrial machinery, on desktop, mobile and embedded. As the saying goes, “The future is written with Qt”.

KDAB once again hosted a pre-conference training day, this time attended by over …

Writing a Custom Qt 3D Aspect – part 2 Setting up the backend and communications


In the previous article we gave an overview of the process for creating a custom aspect and showed how to create (most of) the front end functionality. In this article we shall continue building our custom aspect by implementing the corresponding backend types, registering the types and setting up communication from the frontend to the backend objects. This will get us most of the way there. The next article will wrap up by showing how to implement jobs to …

Porting Applications to Qt - video presentation by Kevin Funk

KDAB has unique experience in porting the code base for toolkits like Qt 3, Qt 4, Motif, Java, Tcl, GTK, .NET, MFC, and Photon to Qt 5. Porting legacy GUI toolkits to Qt 5 is a job where proven experience saves a lot of time.

In this presentation we highlight the main problems facing developers using legacy toolkits, what migrations are and which approaches to migrations are possible. We give you a short overview of common guidelines in starting migrations …

By continuing to use the site, you agree to the use of cookies. More information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.