2

シェル/コンソールから qt アプリケーションに 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" が存在しません

私は何を間違っていますか?

ありがとう

4

0 に答える 0