Skip to content

Responsive QML HMIs with File Selectors

In my previous post, I have shown how to use scaling to adapt QML HMIs to different screen sizes and formats. We reach the limits of scaling if we must change the structure of the HMI or if the HMI must be pixel-perfect. The solution to these problems is to provide a different implementation for each screen size. Switching between these different implementations is done with QML file selectors.
Read More »Responsive QML HMIs with File Selectors

Responsive QML HMIs with Scaling

The HMIs of in-vehicle infotainment systems, TVs, phones and many other systems must adapt to different screen resolutions and formats. This adaptation should happen with as little duplicate effort as possible. The simplest way of doing this for QML HMIs is to scale the values of all x, y, width, height, margin and border properties in proportion to a reference resolution. Based on the HMI of a music player, I’ll show you how to do this by changing only the screen width and height. Read More »Responsive QML HMIs with Scaling

Offshoring Must Be About Finding Good Developers

Over the last 1.5 years, I worked with two Western automotive tier-1 suppliers who use near- and far-shoring to develop most parts of their infotainment systems. Both suppliers use offshoring to reduce their development costs. But how can these offshoring projects be cheaper if a good developer is easily 10-20 times more productive than an average developer?
Read More »Offshoring Must Be About Finding Good Developers

What Makes a Developer Truly Professional

QA finds many bugs that are very easy to catch. Builds contain warnings and runs error messages and even violated assertions. Coding guidelines and good coding practices are ignored. Unit tests are only written to drive line coverage up. Acceptance tests are missing. Code is committed although some tests are failing. Releases are prepared manually. All these symptoms are signs for unprofessional developers at work. So, what makes a developer truly professional?
Read More »What Makes a Developer Truly Professional

QtCreator – Search & Replace with Captured Texts

I wanted to replace many occurrences of

g_theme.themeDisplay(100, 80, 65)


g_theme.thSz([100, 80, 65])

in many QML files. The values of the three integer arguments varied from occurrence to occurrence. What I hoped for was that QtCreator’s search & replace function for regular expressions would support captured texts – the three arguments.
Read More »QtCreator – Search & Replace with Captured Texts

Building HMI of Harvester with Qt

At Qt Developer Days 2014 in San Francisco, I gave a talk with title “Case Study: Driver Terminal for Forage Harvester”. I describe the technical challenges and their solutions when I helped Krone to develop the driver terminal of their new BigX 480/580 forage harvesters with QML, Qt and C++. Here are the slides of my presentation and an abstract.
Read More »Building HMI of Harvester with Qt