Q & A session at Qt Developer Days 2014 with discussions around how to and why to contribute to Qt. Panelists include David Faure, Kévin Ottens, Olivier Goffart, Lars Knoll and Thiago Macieira.
To build parts of the code optionally, or to inject CMake variables into C++, you need pre-processor definitions like -DENABLE_FEATURE on the command-line or #define ENABLE_FEATURE 1 in code. This video shows 3 different ways of setting such pre-processor definitions with CMake. In addition, the video explains how and why you should use #if rather than #ifdef for on/off defines.
In this video, you will learn about a common programming pattern called the job pattern, useful for asynchronous operations (for instance, driven by the Qt event loop) such as socket communication, or any other operation that emits signals upon progress and completion.
In this video, you will learn how to debug a painting issue for a QWidget, using the detailed recording by GammaRay of all individual painting operations.
In this video, you will learn how to use GammaRay to find the slot executed by a QAction, when the user clicks on a menu item. This technique works even if you know nothing of the application code, all you have to do is find the action by its user-visible text.
In this video, you will learn how to use GammaRay to identify a context menu (QMenu) in a running application. The Pick Element feature won't let us see the context menu, but there are other solutions, like filtering for show events and finding the QWindow created for the menu.
In this video, you will learn how to use GammaRay to investigate the issue of a widget that can be squeezed down far too much horizontally. After testing the fix by changing a property dynamically at runtime, you will see how to find the corresponding line of C++ code in order to fix the bug for good.
In this video, you will learn how to use GammaRay to identify the widget responsible for a double margin issue, a frequent cause for misaligned widgets. After testing the removal of the margin in Gammaray, you will see how to make your IDE jump to the line of code that creates the widget, in order to find the corresponding layout and fix the bug there.
In this video, you will learn how to use GammaRay to visually select a widget in your Qt application, and from there find the class name of the widget, and make your IDE jump to the line of code that instanciated the widget.
This video introduces the series, defining the typical problems of Qt Widgets applications that we are going to try and solve using GammaRay.
This video shows how to implement a custom Qt widget, when none of the widgets provided by Qt match your needs. As an example, you'll be presented the code for a toggle switch, as is very common on mobile platforms, why not have something like that on the desktop too?
This video shows an example use of Qt stylesheets, to change the appearance of Qt widgets. We'll dig into the styling of the progressbar as example, the code for styling buttons is also provided.
This video explains the concept of widget styles, showing the code of an actual style written for this video. We'll dig into the styling of the progressbar as example, the code for styling buttons is also provided.
A follow up to the blog post on Saying No to Qt stylesheets, this video introduces different solutions: implementing the QStyle API, using Qt Stylesheets (QSS), writing custom widgets, and writing item delegates.
In this video, you will learn how to measure and reduce the memory consumption of a C++ application, using the opensource tool called Heaptrack. A practical example from KDAB's debugging and profiling training is used to show two actual problems in a C++/Qt application being resolved by Heaptrack.
Découvrez la formation débogage et profilage proposée par KDAB
Learn more about the profiling and debugging training course provided by KDAB.
While a CPU usually has about a handful of cores, a GPU has hundreds of them that work in parallel. Even simple 3D scenes sometimes deal with big data. Having said that, you quickly reach your limit with simple debug outputs. There are a couple of tools to help you understand what's going on under the hood. Let's take a look in this video.
Profile your application with VTune or the combination of perf and Hotspot, in order to pinpoint the performance bottlenecks in your code and verify that your changes improve performance.