このページでは

QMqttSubscription Class

QMqttSubscription クラスは、指定されたトピックに関する通知を MQTT ブローカーから受け取ります。詳細...

ヘッダー: #include <QMqttSubscription>
CMake: find_package(Qt6 REQUIRED COMPONENTS Mqtt)
target_link_libraries(mytarget PRIVATE Qt6::Mqtt)
qmake: QT += mqtt
継承元: QObject

パブリック型

enum SubscriptionState { Unsubscribed, SubscriptionPending, Subscribed, UnsubscriptionPending, Error }

プロパティ

パブリック関数

virtual ~QMqttSubscription() override
bool isSharedSubscription() const
quint8 qos() const
QString reason() const
QMqtt::ReasonCode reasonCode() const
QString sharedSubscriptionName() const
QMqttSubscription::SubscriptionState state() const
QMqttTopicFilter topic() const
QMqttUserProperties userProperties() const

パブリックスロット

void unsubscribe()

シグナル

void messageReceived(QMqttMessage msg)
void qosChanged(quint8)
void stateChanged(QMqttSubscription::SubscriptionState state)

詳細な説明

メンバ型のドキュメント

enum QMqttSubscription::SubscriptionState

この列挙型は、サブスクリプションが取り得る状態を表します。

定数値説明
QMqttSubscription::Unsubscribed0トピックの購読が解除されました。
QMqttSubscription::SubscriptionPending1サブスクリプションのリクエストが送信されましたが、ブローカーによる確認はまだ行われていません。
QMqttSubscription::Subscribed2購読に成功し、メッセージを受信できるようになります。
QMqttSubscription::UnsubscriptionPending3トピックの購読解除リクエストが送信されましたが、ブローカーによる確認はまだ行われていません。
QMqttSubscription::Error4エラーが発生しました。

プロパティのドキュメント

[read-only] qos : quint8

このプロパティには、サブスクリプションが設定された際のQoSレベルが格納されます。

サブスクリプションのQoSレベルは、クライアントがメッセージを受信する際の最大QoSレベルを指定します。パブリッシャーは、それより低いレベルのメッセージを送信することも可能です。

アクセス関数:

quint8 qos() const

通知信号:

void qosChanged(quint8)

[read-only] reason : QString

このプロパティには、サブスクリプションの理由となる文字列が格納されます。

理由文字列は、サーバーがサブスクリプションに関する追加情報を提供するために使用されます。サーバーがこれを送信するかどうかは任意です。

アクセス関数:

QString reason() const

[read-only] reasonCode : QMqtt::ReasonCode

このプロパティには、サブスクリプションの理由コードが格納されます。

理由コードは、サブスクリプションが失敗した場合はエラーの種類を、成功した場合はQoSのレベルを指定します。

アクセス関数:

QMqtt::ReasonCode reasonCode() const

[read-only] sharedSubscription : bool

このプロパティは、サブスクリプションが共有されているかどうかを示します。

アクセス関数:

bool isSharedSubscription() const

[read-only] sharedSubscriptionName : QString

このプロパティには、共有サブスクリプションの名前が格納されます。

アクセス関数:

QString sharedSubscriptionName() const

[read-only] state : SubscriptionState

このプロパティには、サブスクリプションの状態が格納されます。

アクセス関数:

QMqttSubscription::SubscriptionState state() const

通知シグナル:

void stateChanged(QMqttSubscription::SubscriptionState state)

[read-only] topic : QMqttTopicFilter

このプロパティには、サブスクリプションのトピックが格納されます。

アクセス関数:

QMqttTopicFilter topic() const

メンバー関数のドキュメント

[override virtual noexcept] QMqttSubscription::~QMqttSubscription()

サブスクリプションを削除します。topic の購読がまだ解除されていない場合は、自動的に購読が解除されます。

[signal] void QMqttSubscription::messageReceived(QMqttMessage msg)

このシグナルは、新しいメッセージ「msg 」を受信したときに発生します。

[slot] void QMqttSubscription::unsubscribe()

topic の購読を解除します。

注:これにより 、QMqttClient::subscribe() によって返されるすべての共有ポインタのインスタンスに影響が出る可能性があります。

QMqttUserProperties QMqttSubscription::userProperties() const

サブスクリプションが受け入れられた際に、ブローカーから受け取ったユーザープロパティを返します。

注:この関数は 、クライアントが `QMqttClient::ProtocolVersion` として `QMqttClient::MQTT_5_0 ` を指定した場合にのみ、有効なデータを提供します。

© 2026 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.