Right, I have evaluated QT. There were reasons why I decided not use it in that project.
1. Licensing. Their commercial license was prohibitively expensive for the project. And their open source license was too limited for our purposes.
2. I wanted the software to work on top of bare Linux kernel, i.e. no desktop managers, no compositors, no mouse pointer. Also I needed to render different stuff to 2 displays at the same time, QT can’t do that.
The GUI wasn’t too complex, just a handful of screens on a 7” 800x480 DSI touch screen, plus simple 2D vector graphics on an external 4k HDMI display. That is why I was able to use lower-level stack without spending too much time on it. I only used C++ for DRM/KMS and NanoVG, everything higher level is in C#, running on .NET Core.
BTW, the most time-consuming part was on-screen keyboard for the “Connect to WiFi” screen, and soft keyboards are only available in commercial QT.
1. Licensing. Their commercial license was prohibitively expensive for the project. And their open source license was too limited for our purposes.
2. I wanted the software to work on top of bare Linux kernel, i.e. no desktop managers, no compositors, no mouse pointer. Also I needed to render different stuff to 2 displays at the same time, QT can’t do that.
The GUI wasn’t too complex, just a handful of screens on a 7” 800x480 DSI touch screen, plus simple 2D vector graphics on an external 4k HDMI display. That is why I was able to use lower-level stack without spending too much time on it. I only used C++ for DRM/KMS and NanoVG, everything higher level is in C#, running on .NET Core.
BTW, the most time-consuming part was on-screen keyboard for the “Connect to WiFi” screen, and soft keyboards are only available in commercial QT.