Giuseppe D’Angelo
97 results
Giuseppe D'Angelo shares 6 tips for getting started with Qt 6. Whether you're switching immediately or later, this video provides best practices for early adopters and helps Qt 5 users understand Qt 6's impact on their applications.
Another day, another blog about some of KDAB's utility classes. Now it's the turn of KDSingleApplication, a class that helps implement applications that follow the single-instance policy. What is a single-instance policy? Single-instance policy refers to those applications that want to spawn a unique instance for a given user session. Even when launched multiple times, […]
You know the drill: in C++ you need to #include header files that declare the types and functions from the libraries that you use. Qt is no exception in this regard. Qt follows a very nice convention for its own datatypes: if you need to use a type called QType, then use #include <QType>. This […]
In this edition of KDAB News we have Qt 6 Alpha and Beta Release, Interview with Qt Approver Giuseppe D'Angelo, What's new in Qt 6, Announcements and other Resources
There and Back Again
what it entails to fix 10-year-old bugs in QNetworkAccessManager
12 October 2020
A few days ago, a customer using our KD Soap library reported an interesting problem with it. The library worked perfectly to access the SOAP server, but there was some noticeable latency when doing a series of requests in short succession from the client. This latency should not have been there, as both the server […]
What to expect from Qt 6 on the desktop? The next major version of Qt, will be released by the end of 2020 bringing innovations across the board: better performance, flexibility when using C++, safety when using QML, a new approach to modern 3D graphics.
Qt Quick comes with a few visualizations useful for profiling its rendering performance. While these visualizations are built inside Qt Quick itself, there are a few downsides when using them directly. GammaRay makes them more accessible and useful; in this video, we are going to show you how.
GammaRay's Qt Quick inspector tool allows us to inspect not only all the current values for the properties of the items in our scenes, but also to visualize whether those properties are bound to something else.
This video explores GammaRay's Qt Quick Scenes inspector. It explains some of the many tools available when debugging a QML/Qt Quick application, for instance, how to visually pick the element we want to get a closer look at, or how to visualize pixel metrics.
GammaRay Qt Quick Scenes inspector lets you to visualize the object tree of a QML scene, the visual positioning of the items, and much more. This video shows how GammaRay solves a practical Qt Quick problem: why is my element not visible? GammaRay fixes it in seconds.
There are multiple ways for GammaRay to inject itself in a Qt application, depending on whether or not the application is already running and if the application is local or remote.This video explains the differences between the different ways of launching an application under GammaRay.
This demonstration video shows GammaRay in action, introducing the main aspects of its user interface. State machines in Qt can be created with a few lines of code. If there's something wrong, we have to use a regular debugger...or fire up GammaRay, which can reconstruct the state machine graphically and quickly identify the problem.
It is extremely advantageous to have a way to launch GammaRay right from within Qt Creator! This short video explains what to do to be able to launch GammaRay with a simple combination of keys.
Today's blog post is about something that should be simple and apparently it causes trouble: how to declare a qHash overload for a custom datatype. This is necessary when we want to use custom datatypes as keys in a QHash. From the documentation: A QHash's key type has additional requirements other than being an assignable […]
The upcoming version of the C++ Standard (C++2a) is proposing to deprecate certain usages of the volatile keyword, by adopting the P1152 proposal (Deprecating volatile). Despite the somewhat "flamboyant" title, the actual deprecated parts are very limited and indeed the paper limits the deprecation to somehow language/library corner cases and/or dangerous antipatterns. For instance certain […]
Demonstrated live at Qt Embedded World, this video shows GammaRay, a free software introspection tool for Qt applications developed by KDAB. Leveraging the QObject introspection mechanism GammaRay allows you to observe and manipulate your application at runtime. This works both locally on your workstation and remotely on an embedded target.
Qt World Summit 2019 talk videos are online
13 February 2020
Did you miss the past Qt World Summit? Were you there, but you couldn't attend that talk or two that you really wanted to see because the conference was so, so packed with awesome content? Fear no more! We are glad to announce that the talks at the past Qt World Summit 2019 in Berlin […]
A few days ago Marc Mutz, colleague of mine at KDAB and also author in this blog, spotted this function from Qt's source code (documentation): Apart from the mistake of considering empty strings not uppercase, which can be easily fixed, the loop in the body looks innocent enough. How would we figure out if a […]
While the concept of multithreading may be straightforward, code with threads is responsible for some wicked bugs, which can be nearly impossible to reproduce or track down. This makes writing bullet-proof code using threads a tall order. Let's look a little deeper into why that is. First, you need better than average knowledge about the […]
Continuing our blog series about KDToolBox, this time we will discuss UiWatchDog, a keepalive monitor for the GUI thread. Alive? A fundamental rule when writing applications in event-driven UI frameworks such as Qt is: do not ever block the GUI thread! The GUI thread is also usually called the main thread of the application -- […]