Better_Software_Header_Mobile Better_Software_Header_Web

Find what you need - explore useful information and developer resources

Areas of Interest

Searching…

1525 results

The second of two videos where KDAB's CEO Kalle Dalheimer discusses the pros and cons of the Cyber Resilience Act (CRA), whose main goal is to improve cybersecurity in the EU by establishing strict standards for digital products and software.

CXX-Qt is KDAB's extension to CXX, which adds Qt features like properties, signals and slots to CXX. In this step-by-step tutorial, we implement a QAbstractItemModel subclass, which is key to exposing structured data to QML.

The main goal of the Cyber Resilience Act (CRA) is to improve cybersecurity in the EU by establishing strict standards for digital products and software. It primarily aims to prevent cyber threats that could endanger essential infrastructure, businesses, and the digital economy. In this video Matthias Kalle Dalheimer, President and CEO of KDAB, shares his view on the CRA and its effect on open source software. This is Part 1 of two videos on the subject.

CXX-Qt is KDAB's extension to CXX, which adds Qt features like properties, signals and slots to CXX. In this step-by-step tutorial, we extend our "Hello World!" application from the last video with a very basic Qt GUI.

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.

CXX is an opinionated library that allows mixing C++ and Rust in a safe and idiomatic way. In this step-by-step tutorial, we implement an example application that uses CXX to bridge between C++ and Rust. In the following videos, we will expand on this knowledge to add Qt to the mix with CXX-Qt.

In the last months, governments around the world have put a focus on memory safe programming languages. For C++ projects, Rust has often been suggested as the natural choice to port to.

When you press Ctrl+k and type a class name, you are asked which version of Qt you want to see that documentation for. 99% of the time, the answer is likely "The latest". You can actually make it show the latest by default, but it is well hidden.

One of the standard communication protocols for web services is SOAP, which is basically XML over HTTP. I wrote an opensource library called KDSoap which makes it easy to do SOAP with Qt (both client-side and server-side). In this video you will see how, starting from a web service which provides a WSDL file to describe its API, KDSoap can generate code to make synchronous or asynchronous calls to the web service.

A very common communication protocol is REST, which is simply JSON over HTTP. Qt has all the building blocks for this, with QJsonDocument for JSON and QNetworkAccessManager for HTTP. In this video, you will see a real-world library that makes REST requests to a web service called TMDB (movie database), as an example.

This video shows an alternative way to a DBus client using Qt, using the convenience of blocking calls but without blocking the GUI thread: all blocking calls are done in a separate thread.

This video shows how to implement a DBus client using Qt, using generated code so that calls and their signature are checked at compile time. Special care is taken not to block the GUI thread, using asynchronous handling only (via signals and slots, and a queue of pending requests)