Whether you want to design software-rendered 2D user interfaces for long battery life on IoT devices, high-end 3D graphics for VR/AR, or anything between –Qt has tools, libraries and APIs with ready-made controls to easily create great user experiences for any project.
Decide yourself whether you want to use WYSYWIG drag-and-drop tools, declarative QML code or do it all yourself with imperative C++ – Qt has it all. You can even integrate web content into your application or use pure HTML5 to create UIs – the choice is truly yours.
Drag and drop 3D/2D UI elements and design your UI without the need to write any code. This approach is loved by designers since it is easy and intuitive to use and you immediately see what you get (WYSIWYG). You can even use other graphical design tools such as Photoshop to style or make custom UI elements which can be imported to your UI libraries.
Declarative user interfaces define the look and feel and seperate the UI layer from the business logic. Using Qt’s declarative QML language it is simple to define your UI with less code. In other words, it is fast, easy and allows the front-end developer to focus on creating great user experiences while simultaneously allowing the back-end developers to focus on core functionality.
Create UIs with more complex control elements such as MDIs, structured tables and more. You can deploy the software on any platform where it will adopt native speed, performance and style. You only need one code base, which saves oodles of time in development and maintenance.
The imperative approach is best for traditional desktop UIs with access to keyboard and mouse input.
Some projects require you to embed web content into your application, such as documentation through a browser or connecting to social services using OAuth2 web authentication. You can also integrate complete HTML5 UIs in your Qt application. You can integrate web content in your application by either using the operating system’s native browser or Qt’s built in web engine - a Chromium-based browser adapted to work across a wide range of embedded operating systems.