从shell发送dbus消息到qt app

时间:2014-08-01 17:02:36

标签: c++ qt dbus qtdbus

我想从shell / console到dt应用程序执行dbus-send。

这是一个简单的QT应用程序的代码

#include "mainwindow.h"
#include "ui_mainwindow.h"

#include <QtCore>
#include <QtDBus>
#include <QDBusConnection>
#include <QDebug>


MainWindow::~MainWindow()
{
    delete ui;
}

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    bool ret = QDBusConnection::sessionBus().connect(
                "MyHome", //service
                "/", //path
                "com.mydomain.mcp", //interface
                "usb", //name
                this, //receiver
                SLOT(messageSlot(QString)));

}

void MainWindow::messageSlot(const QString &t1)
{
    qDebug("%s", QString("%1").arg(t1).toUtf8().data());
}

从终端,我发送此命令

dbus-send --session --print-reply --reply-timeout=2000 --type=method_call / com.mydomain.mcp.usb string:'a'

我收到此错误:接口“com.mydomain.mcp”上带有签名“s”的方法“usb”不存在

我做错了什么?

由于

0 个答案:

没有答案