Skip to content

Qt Get the RSS Feed

Clazy Results Visualizer for Qt Web UI to view clazy and gcc warnings

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.

Today, we’re proud to announce a Clazy Web UI to view all warnings emitted by Clazy, as well as normal gcc/clang issues.

Furthermore, we’ll be hosting it publicly for the Qt code base. This means that you can now head …

Hotspot v1.1.0 adds timeline and recording features New release of the GUI for the Linux perf profiler

Close to three months after the initial hotspot release, I’m happy to announce the release of version 1.1.0. Quick recap: Hotspot is a graphical frontend to the Linux perf profiler suite. It allows you to visually analyze perf.data files with the built-in Flame Graph and the Bottom-Up, Top-Down, or Caller-Callee data tables. It is a free open source R&D project by KDAB, you can find the code on GitHub.

Version 1.1.0 adds two important new features to this …

CCI – putting intelligence into agriculture, using Qt

When Competence Center ISOBUS (CCI) decided to bring their terminal up-to-date as part of the Group’s strategy to remain top of the field in advanced agritechnical innovation, they asked KDAB to help.

The user interface in the operator’s cab displays multiple applications. It can control complex agricultural tools, receive and display complex reports and much else besides. Crucially, it also needs to be easy to operate and understand.

For this project, QtQuick on Linux Embedded was the natural choice, but …

GammaRay 2.8.1 Release

We have released version 2.8.1 of our Qt application introspection tool GammaRay. This release contains a number of important bugfixes as well as support for Qt 5.9.2. Especially if you are experiencing corrupt views or crashes when searching in the object tree, or having trouble attaching to a process on Windows, you want to upgrade to the new version. The same applies to users of bleeding edge Qt versions experiencing build failures.

Next to maintaining the 2.8 series we …

Profiling QtQuick HMI Performance on Embedded Linux by Thomas McGuire

QtQuick is a popular choice for creating HMIs for embedded devices. The hardware on these devices is often constrained and less performant than their desktop equivalents, this requires extra care from software developers in delivering a fluid user experience. KDAB is regularly involved in improving the performance of QtQuick HMIs on such devices for their customers.

In this demonstration, we will show how to profile and optimize the performance of a QtQuick speedometer, an example taken from an actual embedded …

Qt talks at CppCon 2017

The program for CppCon 2017 is now published!

CppCon is the annual conference for the C++ community: five days packed with over 100 talks, as well as 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 community and promote the understanding and use of modern, standard C++ on all compilers and platforms.

It’s our pleasure …

clazy 1.2 released presenting 5 new Qt compile-time checks

In the previous episode we presented how to uncover 32 Qt best practices at compile time with clazy. Today it’s time to show 5 more and other new goodies present in the freshly released clazy v1.2.

New checks

1. connect-not-normalized

Warns when the content of SIGNAL(), SLOT(), Q_ARG() and Q_RETURN_ARG() is not normalized. Using normalized signatures allows to avoid unneeded memory allocations.

Example:

    // warning: Signature is not normalized. Use void mySlot(int) instead of void mySlot(const int) 

New in Qt 5.10: recursive filtering for QSortFilterProxyModel

When using Qt’s model/view framework, filtering has always been very easy with QSortFilterProxyModel. To filter a list using text typed by the user in a line-edit, you have certainly been applying the standard recipe:

  1. instantiate the proxy;
  2. insert it between view and source model;
  3. connect the lineedit’s textChanged signal to the proxy’s setFilterFixedString slot; done!

But what if the model is a tree rather than a flat list?

Let’s use the tree below as an example. As you can …

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.

Close