Add-on support in Qt 6.0 and beyond

For Qt 6.0, we have been focusing on improving the essential modules and selected add-ons. There are more coming, though, so I wanted to update you on our ongoing work to port additional add-on modules to Qt 6. This blog post provides an overview and a rationale for our planned timeline.     

We are well aware that most users depend upon at least some add-ons. While we do provide some of the commonly used add-ons with Qt 6.0, there are also many widely used ones not yet available. We wanted to create a solid baseline in Qt 6.0, so we focused our efforts on the essential parts of Qt. 

In the subsequent releases we want to provide more add-on modules as quickly as possible. For many of them, the porting work is relatively straightforward, and some can actually be built on top of Qt 6.0 now. Some modules require a bit of work before introduced to Qt 6, and only a few modules need a major re-work. In addition to improving the functionality provided with Qt 6.0 and adding important new features, bringing the add-ons to Qt 6 is our key task. 

As mentioned in the Qt 6.0 release post, we want to release Qt 6.1 and Qt 6.2 LTS at a faster pace than usual. Qt 6.1 release is coming in April, and Qt 6.2 LTS at the end of September 2021. With Qt 6, we are also introducing a new way of delivering the additional libraries via a package manager. This allows providing the additional libraries with a higher amount of flexibility than earlier – including providing a new version of an add-on on top of an existing release, if desired. 

Qt has many different modules, so I hope you bear with me through the long bullet lists of modules coming or planned for each release. The modules are listed alphabetically. Remember that this describes our current plan and is subject to change for the parts that are not yet released.

Qt 6.0 supports the following modules in the baseline binary installation:

  • Qt Concurrent
  • Qt Core
  • Qt Core Compatability APIs
  • Qt D-Bus
  • Qt GUI
  • Qt Help
  • Qt Network
  • Qt OpenGL
  • Qt Print Support
  • Qt QML
  • Qt Quick
  • Qt Quick 3D
  • Qt Quick Controls
  • Qt Quick Layouts
  • Qt Quick Timeline
  • Qt Quick Widgets
  • Qt Shader Tools
  • Qt SQL
  • Qt SVG
  • Qt Test
  • Qt UI Tools
  • Qt Wayland
  • Qt Wayland Compositor
  • Qt Widgets
  • Qt XML

Some of these are separately selectable, but most are part of the minimal install.

For Qt 6.0 we also have the following add-ons available via the package manager:

  • Qt 3D
  • Qt Image Formats
  • Qt Network Authorization
  • M2M package: Qt CoAP
  • M2M package: Qt MQTT
  • M2M package: Qt OpcUA

We are currently leveraging the installer as package manager backend, and the user also needs to select the additional libraries using the Qt installer (or maintenance tool). As we advance, we are looking into other solutions and improving the support provided by Qt Creator for using the additional libraries. 

For Qt 6.1 we are planning to provide the following additional libraries:

  •  Active Qt 
  •  Qt Charts
  •  Qt Quick Dialogs (File dialog)
  •  Qt ScXML
  •  Qt Virtual Keyboard

Qt 6.1 has feature freeze already in January, so there are just a few add-ons coming with it. However, we may provide more of the add-ons as a preview later on. 

For Qt 6.2 we are planning to provide the following additional libraries:

  •  Qt Bluetooth
  •  Qt Data Visualization
  •  Qt Lottie Animation
  •  Qt Multimedia
  •  Qt NFC
  •  Qt Positioning
  •  Qt Quick Dialogs: Folder, Message Box
  •  Qt Remote Objects
  •  Qt Sensors
  •  Qt SerialBus
  •  Qt SerialPort
  •  Qt WebChannel
  •  Qt WebEngine
  •  Qt WebSockets
  •  Qt WebView

Some modules are not listed above because:

  • They are removed from Qt 6 on purpose (like Qt KNX, Qt Script and Qt XML Patterns)
  • The functionality is part of or indented to be part of other modules, so it is no longer needed as a separate module (like platform-specific extras)
  • They are indented to be available after Qt 6.2 LTS or via the Qt Marketplace 
  • They are not part of the Qt framework, such as tools (Qt Creator, Qt Design Studio etc), Qt Safe Renderer, Qt Automotive Suite etc.

Within the modules, some old APIs have been removed, and new APIs have been introduced. In the case where the functionality is removed on purpose, your application may need to be modified accordingly, and we have a porting guide to assist you

I hope this blog post helps you to plan your migration to Qt 6. We would highly appreciate it if you try out porting to Qt 6 even if some of the add-ons you use are not yet available. 

Remember to also read the release announcement blog post and check out our Qt 6 landing page.

We are also hosting Meet Qt 6.0 webinar sessions covering the Americas/EMEIA and EMEIA/APAC time zones.


Blog Topics:

Comments