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.