Seite 1 von 1

Qt DBus methodcall

Verfasst: 7. Mai 2010 12:34
von OliverD
Hallo zusammen,

ich haette mal eine Frage bzgl. dem DBus unter Qt.

Ich kann mittlerweile ohne weiteres Methoden aufrufen und dabei auch einen QString uebergeben
Zum Beispiel so:

Code: Alles auswählen

void DBusAdapter::printoutstr(QString str)
{
    // handle method call de.odamm.DBusGames.widget.printout
    QMetaObject::invokeMethod(parent(), "printoutstr", Q_ARG(QString, str));
}
Der entsprechende call sieht so aus:

Code: Alles auswählen

    interface->call("printoutstr", arg);
Nun reicht mir aber ein String nicht aus und ich dachte mir es lassen sich ja auch Listen verschicken. Als fix die Methoden angepasst und ... nix. Leider wird die Empfaengermethode nicht aufgerufen.

Die Methode vom Adapter habe ich so geaendert:

Code: Alles auswählen

void DBusAdapter::printout(QList <QVariant> list)
{
    // handle method call de.odamm.DBusGames.widget.printout
    QMetaObject::invokeMethod(parent(), "printout", Q_ARG( QList <QVariant>, list));
}
Und aufrufen tue ich sie so:

Code: Alles auswählen

    interface->callWithArgumentList(QDBus::NoBlock, "printout", list);
Hat da vielleicht jemand eine Idee was ich dafuer noch aendern muss?

Vielen Dank,
Olli