Better_Software_Header_Mobile Better_Software_Header_Web

Find what you need - explore useful information and developer resources

Areas of Interest

Searching…

645 results

In this module we will explore the different possibilities to create animations in QML. Animations are a first-class citizen in QML; pretty much any property can be easily animated by using one of the many available animation types. We'll kickstart the first video of the series by showing you how to create and control animations and aggregate them together to build more complex ones (sequential, parallel, and so on).

Time for a little trick! When creating custom animations, it may help to run them in slow motion – just for debugging purposes, of course. This is doable by writing some C++ code, but requires poking into Qt internals. Just use GammaRay™ instead!

Flipable is a convenience component in Qt Quick that shows two different arbitrary elements: one on its front, and one on its back. Like a postcard, we can rotate the Flipable and see the other element. Flipable does not come with a built-in animation; we have to create one ourselves to make it look nicer.

In this video we'll introduce states and transitions in QML. States are a very convenient way to centralize the property values of a set of items in a user interface built in QML. While states define the values themselves, transitions define how to animate the change of the values corresponding to a state change.

Designers sometimes want to move a graphic element alongside a custom path, specified via bezier curves or SVG paths. PathAnimation is the tool for this job in QML; this video teaches you how to use it.

Qt's model/view framework is one of Qt's most challenging aspects. While list models are relatively straightforward, tree models require handling custom indexes, causing developers frustration for over a decade. Adding proxy models for filtering/sorting and communication through proxy stacks to base models increases complexity. Custom delegates are needed for different painting and event handling per row, column, or cell.

This episode of KDAB News includes: Interview with Kalle Dalheimer; Qt for MCU 1.1; Crowdsourcing 3D printing projects to support healthcare; Announcements.

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.

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.

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.