Due to Covid-19, the KDAB office in Berlin feels really empty. Some times, it's just me, working on hardware, and a few other guys dotted around. The office staff are all working from home. The Problem: My office is very far away from the door, yet, from time to time, KDAB gets deliveries and, as […]
So, you've just poured your heart and soul into some real-time 3D rendering code and hit render. Wringing your hands in anticipation you wait for the screen to show your marvellous creation. Still... waiting. It says it's done but, nothing. Well, maybe not nothing but simply darkness. You stare into the deep dark […]
Qt has a long history. The first stable version was released before the first version of C++ was standardized and long before the different C++ compiler vendors started shipping usable implementations of the C++ standard library. Because of this, Qt often followed (and still follows) some design idioms that feel unnatural to the usual C++ […]
Components handling keyboard input must manage focus properly. Focus propagation between components is tricky in QML since the "focus" property has global effects. When multiple components need keyboard focus simultaneously, we must limit the "focus" property's consequences. The FocusScope element handles this by containing focus within specific areas.
Never store business-related state in QML - all business logic belongs in C++. However, UI-related state (like list view scroll position) may be stored in components. This video shows introducing ad-hoc properties in component elements that act as local variables for UI state management while maintaining proper separation of concerns.
QML code typically creates all elements immediately, which works for simple examples but wastes resources in complex applications. Creating all screens, pages, and dialogs on startup would consume excessive resources and slow application launch. The Loader component solves this by creating elements on demand, improving performance and resource management.
In the fourth module of our "Introduction to Qt / QML" series we explore components: that is, how to reuse QML code by encapsulating it in a separate piece that we can then create as many times as needed. In this video, the basics of creating an "out-of-line" component is defined as well as how to define a proper API for our components.
To complete the discussion about defining the interface of a component, this session shows how to add functions to a component ("methods"), as well as signals. Declarative programming is also discussed and why certain designs match QML's spirit much better than others.
In this video we discuss how sizing works when creating a reusable component, including how to make components that have adequate width and height out of the box. We also showcase GammaRay, the free software introspection tool for Qt applications developed by KDAB.
"nice" by Lufthansa Technik is the industry standard for VIP and business aircraft cabin management and in-flight entertainment, developed with Qt and KDAB. Moving from multiple native approaches to Qt/QML enabled their Red Dot Design Award-winning immersive cabin environments. The system brings human touch to flying with high-end technology used by VIP, government and business jets.
This KDAB News edition, published during the early Corona lockdown period, covered Qt World Summit 2020 postponement, top 10 developer tools for Qt developers, new Qt small business licensing, GammaRay 2.11.1 release announcement, and resources including a blog article about adapting to remote work during the pandemic.
When I came to KDAB to work, working at home was a bit of a culture shock for me - I’d previously only ever worked in an open-plan office and had sworn that home working was not for me – I’d never manage to get anything done! However, I’ve found that home working suits me […]
Qt 3D, being a retained mode high level graphic API abstraction, tries to hide most of the details involved in rendering the data provided by applications. It makes a lot of decisions and operations in the background in order to get pixels on the screen. But, because Qt 3D also has very rich API, developers […]
We have released version 2.11.1 of our Qt application introspection tool GammaRay. The changes mainly focus on establishing full compatibility with Qt 5.14 as well as bugfixes and performance improvements, but there's also a few new features. Areas most affected by changes in Qt 5.14 are the inspection of Qt Quick software rendering, deployment on […]
Till Adam, interviewed at Embedded World 2020, gives a brief but comprehensive introduction into how KDAB can help you with your embedded software project, and indicates tooling, training and other resources from KDAB you can access, many of them free and open source.
A few weeks ago, we published an article with an overview of Visual Studio Code through the eyes of a Qt developer. In this short blog series, I will show you how to get up to speed with a Qt project using Visual Studio Code more in detail. Before digging into the Qt parts, I'd […]
Whether you are considering an NXP i.MX 8, NXP i.MX 6, or another vendor’s silicon, there are many factors to take into account in order to make the right hardware choice. This short video offers some guidance.
Selecting programming languages and frameworks for new software projects involves difficult choices. Should you stick with Qt as the best tool, switch to web-based technology or mobile-specific solutions, or choose Python for machine learning integration? This video outlines key considerations and offers a comprehensive whitepaper for detailed guidance on making these critical decisions.
The demo shown at Embedded World 2020 featured 3D visualization of microscopy tissue samples, 2D images from cutting-edge clinical diagnostics datasets, and real-time conversion to 3D from 30 image channels using Qt 3D technology for advanced medical imaging applications.
This innovative electric scooter UI demo shown at Embedded World 2020 featured a navigation framework integrated with Qt Quick scene, speedometer implemented using OpenGL shaders, and ran on a Yocto-based platform, showcasing modern automotive interface capabilities for electric mobility solution.