Qt Quick Ultralite vs Qt

Qt Quick Ultralite is designed to serve as a rendering engine for the application's graphical user interface (UI). Its implementation is different from the standard Qt, and it does not depend any Qt libraries such as Qt Core or Qt Gui. Hence Qt Quick Ultralite applications need to use standard C++ containers and classes instead of those from Qt. For example, instead of using QObject or QAbstractItemModel, Qt Quick Ultralite provides a simple C++ API to expose objects and models.

If you are familiar with Qt already, Qt Quick Ultralite framework brings along the following from the Qt world:

  • The QML declarative language.
  • A subset of the essential Qt Quick APIs and modules such as Qt Quick Controls, Qt Quick Timeline, and Qt Quick Shapes.
  • The Qt Creator and Qt Design Studio tools.

It does not include the following from the Qt world:

  • The Qt C++ APIs.
  • The non-graphical modules such as Qt Core and Qt Network.
  • The Add-on modules such as Qt Multimedia, Qt Bluetooth, and others Qt Addon Modules.
  • The non-MCU embedded platforms such as embedded Linux or the mobile platforms.
  • Standalone JavaScript resource (.js) files

Applications that require non-graphical functionalities such as networking, filesystem access, locations, and multimedia need to either have their own implementation or leverage existing 3rd party libraries for respective platforms.

The QML code is compiled to C++. Since there is no JavaScript engine or garbage collection, only a subset of the language is allowed. This should be enough for the majority of use cases within Qt Quick Ultralite. When more advanced scripts are required, they can be exposed through C++ functions. Similarly, only a subset of the Qt Quick API is available.

The following topics describe the main differences between Qt Quick Ultralite and Qt Quick:

If you believe that some important API is missing, contact Qt Professional Services.

Available under certain Qt licenses.
Find out more.