MQTT is a machine-to-machine (M2M) protocol utilizing the publish-and-subscribe paradigm. Its purpose is to provide a channel with minimal communication overhead.
Generally, MQTT is used on top of a TCP connection. However, the base requirement is defined as an ordered, lossless, bidirectional connection.
The Qt MQTT module provides a standard compliant implementation of the MQTT protocol specification. It enables applications to act as telemetry displays and devices to publish telemetry data. The supported versions are MQTT 3.1, MQTT 3.1.1, and MQTT 5.0.
Using the Module
Using a Qt module requires linking against the module library, either directly or through other dependencies. Several build tools have dedicated support for this, including CMake and qmake.
Building with CMake
find_package() command to locate the needed module components in the
find_package(Qt6 REQUIRED COMPONENTS Mqtt) target_link_libraries(mytarget PRIVATE Qt6::Mqtt)
See also the Build with CMake overview.
Building with qmake
To configure the module for building with qmake, add the module as a value of the
QT variable in the project's .pro file:
QT += mqtt
Articles and Guides
Licenses and Attributions
Qt MQTT is available under commercial licenses from The Qt Company. In addition, it is available under the GNU General Public License, version 3.
© 2023 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.