2017-03-11 12 views
0

QDBusからの信号を捕捉する必要があります。これは新しく、QDbusからの信号をどのように捕捉するのかわかりません。私が理解できるように例を挙げて説明してください。QbのDbus信号とスロット

答えて

1

オプションのカップルがあります:

  1. 使用QDBusConnection::connect()
  2. は、リモート・インタフェースのための一般的なQDBusInterfaceオブジェクトを作成し、QObject::connect()SIGNAL/SLOT withnマクロ
  3. は、特定の生成ノルマルに送信者としてそれを使用しますqdbusxml2cppコードジェネレータを使用して、サービスのXMLイントロスペクションデータからインターフェイスオブジェクトを取得する

D-Bus Chat exampleは、(1)と(3)の両方を使用し、参照のためにコメント行に(2)を持っています。

+0

はい、私はnewSignal(オブジェクトパス、{String、{Dict of {String、Variant}}のDict)のような引数を持つシグナルを持っています。ここでは、これらの引数でこのシグナルを宣言する方法はわかりません。このことについて教えてください。 – sathish

+0

2番目の引数または 'QMap 'として 'QVariantMap'を試すことができます。 –

+0

クラスのスロットを以下のパブリックスロットとして宣言しました。 intデバイスファウンド(QDBusObjectPathパス、QMap マップ){ qDebug()<< "デバイスが見つかりました>>>>>>>"、パス; } – sathish

関連する問題