QT官方的mqtt是qmqtt,头文件是
#include <qmqttclient.h>
官方的文档地址 https://doc.qt.io/QtMQTT/qmqttclient.html#publish
使用要在工程文件中添加
QT += mqtt
void MyMqttClient::mqttStateChange(int state)
{
    if(state == 0)
    {
        qDebug() << "mqtt disconnected";
    }
    else if(state == 1)
    {
        qDebug() << "mqtt connecting";
    }
    else if(state == 2)
    {
        qDebug() << "mqtt connected";
        m_mqttClient->subscribe("订阅你自己的主题");
    }
}
MyMqttClient::MyMqttClient(QObject *parent) : QObject(parent)
{
    m_mqttClient = new QMqttClient;
    m_mqttClient->setHostname(HOSTNAME);
    m_mqttClient->setPort(PORT);
    m_mqttClient->setUsername(USERNAME);
    m_mqttClient->setPassword(PASSWORD);
    m_mqttClient->setClientId(CLIENTID);
    connect(m_mqttClient, &QMqttClient::stateChanged,[=](int state){
        this->mqttStateChange(state);
    });
    connect(m_mqttClient, &QMqttClient::messageReceived,[=](QByteArray message, QMqttTopicName topic){
                           const QString content = QDateTime::currentDateTime().toString()
                                               + QLatin1String(" Received Topic: ")
                                               + topic.name()
                                               + QLatin1String(" Message: ")
                                               + message
                                               + QLatin1Char(‘\n‘);
                        qDebug() << content;
    });
    m_mqttClient->setKeepAlive(60);
    m_mqttClient->connectToHost();
}
原文:https://www.cnblogs.com/chq1224/p/14962585.html