A package manager for Qt is being developed

The Qt Company unveiled several days ago through a blog post that you intend to include a package manager in the Qt online installer, which will help simplify the installation of additional libraries in Qt 6.

As base, Conan package manager will be used, designed to distribute libraries in C / C ++ and have a decentralized architecture that allows you to distribute libraries from your server. It is assumed that the package manager allows users to use additional modules in an external repository without overloading or complicating the basic set.

In the first stage, the Qt Network Authorization, Qt Image Formats and Qt 3D modules are planned to be distributed, but with the release of Qt 6 in December, the number of modules will increase. In addition to loading additional modules provided by Qt developers, the package manager can also be used to obtain libraries from external vendors.

With Qt 6 we want to provide more flexibility by taking advantage of a package manager in addition to the Qt Online Installer. The new package manager functionality, based on conan.io (https://conan.io), makes it possible to provide more packages to users without increasing the complexity of the Qt baseline. In addition to the packages provided by Qt, the package manager can be used to obtain content from other sources.

Initially, we have three additional Li b raries provided through the package manager: Qt Authorization Network, Qt image formats, and Qt 3D. More additional libraries will be available in the next versions of Qt 6. We are currently taking advantage of the existing Qt delivery system as the backend for the additional libraries available through the package manager. Like Qt 6.0, the current work is still in beta and all comments are welcome.

It is important to mention that the Conan profile files and build recipes are currently being worked on for Android and iOS goals.

In addition, Qt Company has released Qt for MCU 1.5, a review of the Qt framework for microcontrollers and low power devices. The package enables you to create graphical applications for a variety of consumer electronics, portable devices, industrial equipment, and smart home systems.

Development is carried out using the familiar API and standard development tools used to create comprehensive GUIs for desktop systems.

Both the C ++ API and QML can be used with the redesigned Qt Quick Controls widgets for small screens. To achieve high performance, QML scripts are translated into C ++ code and rendering is done using a separate graphics engine, Qt Quick Ultralite (QUL), which is optimized for creating graphical interfaces with a small amount of RAM and processor resources.

The engine is designed with ARM Cortex-M microcontrollers in mind and supports 2D graphics accelerators such as PxP on NXP i.MX RT1050 chips, Chrom-Art on STM32F769i chips, and RGL on Renesas RH850 chips.

That is why we introduced in Qt for MCUs 1.5 a completely new set of APIs that enable that integration.

It is mentioned that It consists mainly of two parts:

The platform namespace exposes the different abstract functions that you must implement. These are the functions that the engine calls Qt Quick Ultralite to interact with the hardware. There are 18 of them to implement at most, some of them are optional.

The namespace PlatformInterface provides all the APIs you need in your platform adaptation code to call the engine back, for example to handle touch events received from the touch screen controller or to trigger a timer based engine update or by other means.

You will not always have to implement all platform features when migrating Qt Quick Ultralite to hardware. The Qt SDK for MCU includes the source code for all platform adaptations, which means that if you need to adapt Qt Quick Ultralite to a custom board based on one of the supported MCUs, or if you need to port a new MCU from a family compatible.


The content of the article adheres to our principles of editorial ethics. To report an error click here!.

Be the first to comment

Leave a Comment

Your email address will not be published.

*

*

  1. Responsible for the data: Miguel Ángel Gatón
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.