Better_Software_Header_Mobile Better_Software_Header_Web

Find what you need - explore useful information and developer resources

Areas of Interest

Searching…

645 results

Years after its creation, C++ is still, and certainly was in 2021, considered by some to be one of the most powerful languages on the planet. For this video we gathered an international panel of C++ experts to give you insights about the C++ language: where it's going and how it got there.

Before you create a plugin, your classes may be configured using constructors like: class Wishes { public: Wishes(bool isExclusive, const QColor& color, QWidget* parent); ... } But how do you handle these parameters if your constructors can't take anything but the parent pointer? This episode will discuss a few different possible solutions.

In this video, you will learn about the three ways to create threads in Qt (did you know about QThread::create?). You will also learn how to wait for threads to finish, what can and cannot be done in a secondary thread, and how to properly destruct QObjects used in threads.

This video introduces the series, defines multithreading, and advises on the things you should know or learn before watching this video series.

In this first episode on developing plugins for Qt Designer, we will discuss the widget promotion feature and its shortcomings compared to plugins. This is the first video out of 6 on this topic. So, stay tuned!

Heaptrack is a fast Linux heap memory profiler that tracks all runtime heap allocations. Its GUI tool analyzes recorded data to find code optimization opportunities. This video demonstrates Heaptrack in action across 32/64-bit x86 and ARM platforms, successfully used on both embedded projects and desktop applications wherever Linux runs.

Insights into C++20 with Ivan Čukić; Qt 6.1 released; Qt DevCon 2021 in Berlin; Tool of the month; Other events this year.

Programs crash. So far, so well-known. But how can we learn from our mistakes and use the errors to learn and improve? In this talk, a short overview of what is still possible when an application crashes is given. The talk is custom-tailored for embedded devices. Traditional signal handlers, dumps and debugging is explained, and it reveals how to use a combination of Yocto, Google Breakpad, and Sentry to produce, enhance, and collect crash information to our needs.

This talk argues that C++ is excellent for embedded development, going beyond being a "superset of C" with stricter typing, automatic resource management, generic programming, and performance improvements over equivalent C code. It aims to demystify C++ myths that have become self-fulfilling prophecies, showcasing code demonstrating how C++ helps C developers create more robust, efficient software.

Development in the web world is progressing at lightning speed. It feels like a new JavaScript framework is released every day. With this enormous mass of new ideas, there are certainly features that you would like to use in embedded development. So why not get inspired and tailor ideas to your own needs? This talk presents how to take this step using the Flux architecture pattern as an example.

This talk presents a proven approach for creating fully automated, robust, and maintainable GUI tests for Qt applications on embedded devices. Using an ARM iMX6 device with Qt-based GUI, it demonstrates Squish GUI Tester tool usage and shows how Remote Control and Remote System functionalities enable interaction with target devices in different physical locations.

Containers are established for server/cloud development but face challenges on embedded devices, especially for rich graphical interfaces running in "sandboxed" environments. This session explores container benefits for devices and shows how to create the right access points in your sandbox for first-class graphical applications.

In this talk, we will explore the process for designing a UX/UI in the embedded space, how we can use Qt and Qt-Creator/Designer as a part of the workflow, and some basic rules for a more pleasing visual experience.

Anticipating and preventing field failures enables market leaders to invest in innovation, rather than costly resource-draining diagnosis, repair, and redesign that impacts time-to-market. In this presentation, we’ll discuss different levels of reliability. We’ll also examine methods for achieving long-term reliability, ensuring that a well-tested data storage system contributes to preventing field failures while increasing the lifetime of an embedded device.

Qt development for embedded systems involves editing code on desktop and running on embedded devices multiple times daily. Qt Creator and CMake often create problems including installation failures and compiler detection issues. The Boot2Qt SDK solves this by creating CMake toolchain files and Qt Creator configurations for cross-compilation, deployment, and execution out-of-the-box.

In this session, the General Magic Maps SDK for QML will be used to demonstrate creating an app with interactive maps, routing, and navigation.

Engineering appears straightforward today - grab a laptop, download frameworks, set up devices, and work productively. However, large downloads, unresolved dependencies, and incompatible toolchains make traditional software building cumbersome. This talk presents an experiment in building, deploying, and running modern Raspberry Pi UI without installing SDKs, all set up in under 10 minutes.

Embedded systems often combine general purpose computers with domain-specific devices via standard bus or network connections. The main computer monitors and controls system functionality, essentially "steering" the specialized device. This case study covers a Data Modul and KDAB joint project building tooling that simulates CAN-Bus attached hardware, providing safe training and testing environments.

Almost all embedded devices interact with the physical world, requiring solutions for handling various measurement values including sensor differences, unit systems (metric vs imperial), and overlapping units. This talk examines arithmetical operation validity and shows how modern C++ language features make this transparent and runtime-optimal, motivated by a project where inconsistent measurement handling caused subtle bugs.

This 2021 News from KDAB includes an interview with Harri Porten, CEO, on froglogic’s acquisition by The Qt Company; Qt Embedded Days; Tool of the month: spdlog; Event notices and Resources.