2016-04-29 12 views
0

Unser Framework wird vor kurzem von Qt4 auf Qt5 aktualisiert. Aber hier haben wir einige Probleme bei der D-Bus Ereignisverarbeitung.Abrufen des Servicenamens von QDBusConnection mit Qt5

Der ursprüngliche Code QDBusConnection::sender().name() gibt leere Zeichenfolge zurück. Und der offizielle vorgeschlagene Ersatz Weg QDBusContext::connection() zurück etwas wie "1.40", "1.101" (sollte Adresse oder so etwas sein, und ist richtig).

Wir versuchen auch zu verwenden msg.service() wo msg ist QDBusMessage, aber immer noch die ehemalige Adresse.

Wir müssen seinen Namen wie com.stackoverflow.HelpMe bekommen, die wir in die QDBusConnection::connect() senden, um sicherzustellen, dass wir verschiedene Dienste unterscheiden können, selbst wenn die d-bus Dienste neu gestartet werden, die die Adresse ändern können.

Danke für jeden Vorschlag.

Antwort

0

Nun ......., in der Tat kann die offizielle vorgeschlagene Alternative QDBusContext::connection() arbeiten. Wir wissen nicht, warum der vorherige Versuch ein anderes Ergebnis hatte.

Verwandte Themen