Why is Qt the only option? Rust has plenty of suitable options. Slint is used in production and works on tiny embedded devices.
QtSerialPort (https://github.com/search?q=include+QSerialPort&type=code)
Qt3D (https://github.com/search?q=include+Qt3D&type=code)
QtWebSockets (https://github.com/search?q=include+Qt3D&type=code)
QtSensors (https://github.com/search?q=include+qtsensors&type=code)
Qt SCXML (https://github.com/search?q=include+qstatemachine&type=code)
etc etc..
Qt's value is as an app framework where you can assume interoperation across the same async runtime and enjoy a cohesive set of APIs for all your app's needs.
As far as I can tell it requires Gl or WebGl though.