2011-12-24 6 views
14

QtDbusを使用して2つのアプリケーション間で整数を送信する方法をすでに理解しようとしています。しかし、私の試みはすべて失敗しました。私はインターネットでたくさんの例を見つけましたが、私はこれをすべてまとめようとしていますが、どこで何が起こっていないのか分かりません。私は成功した信号を使用した& &スロットのメカニズムが、私は前にDbusを使用したことはありません。 私も始めることはできません。QtDbus C++の最小例

+0

また、私の関連の質問を参照して答える:http://stackoverflow.com/questions/20206376/how-do-i -extract-the-returned-from-qdbusmessage-in-a-qt-dbus-call – MatthewD

+0

[あなたがこれまでに試したこと](http://whathaveyoutried.com)を表示するようあなたの質問を編集してください。問題のあるコードの[mcve]を含める必要があります。次に、特定の問題を解決するために役立つことができます。 [ask]も読んでください。 –

+0

あなたは深刻ですか? – Tebe

答えて

1

Qtのドキュメントの一部であるいくつかの例を参照してくださいがあります。それは冒頭でhttp://www.developer.nokia.com/Community/Wiki/QtDbus_quick_tutorial

+0

もし私がこの例の1つだけを一緒にまとめることができたなら...書かれているようにそれほど単純ではありません – Tebe

+0

Qtの例(最初のリンク)にはすべて読み込みコンパイルのソースコードが含まれています。私はそれらのうちの1つから始め、コンパイルしてそこから作業することをお勧めします。あるいは、2番目のリンクは、最初からリンクを作成する方法を説明します。とにかく、幸運! =) – wjl

+0

いいえ、試しました。ですから、私はSignalsを使うことを余儀なくされています。これははるかに良く文書化されており、qtdbusから出ています。 – Tebe

0

http://developer.qt.nokia.com/doc/qt-4.8/examples-dbus.html

が、ここでは簡単なDBUSクライアントとサーバーを作って歩くチュートリアルがあるほかかなり混乱です。とにかく、いくつかのログを配置してdbus-monitorを使うと、どの部分が失敗しているのかを理解するのに役立ちます。とにかく、Qtの例と一緒に、thisが非常に役に立ちます。完全に説明された一連の文書です。この場合、Qtのものよりも役立つものが見つかりました。

16

私は見つけることができるQT-dbusのを理解するための最良のチュートリアルでは、このだった -

KDE Tutorial on Qt-DBus

この順でチュートリアルに従うようにしてください -

  1. はじめにD-BUSに
  2. Dバスインターフェイスの作成
  3. DBusインターフェイスへのアクセス
  4. qt-DBusのカスタムタイプの作成

次に、少なくともこれらのコードで快適になる場合は、残りの部分に従ってください。

このツールをインストールすることもできます。D-Feet dbusコードの理解とデバッグに役立ちます。

上記のリンクを1つずつ試してみてください。具体的な疑問を持ってここに戻ってください。コミュニティがお手伝いします。

サンプルアプリケーションを使用すると、実際にはコードに関するものではないので、そのコードに到達するために必要なプロセスについて説明します(ほとんどのコードは、アダプタおよびプロキシクラスの形式で自動的に生成されます)。あなたはそれを行う方法を学ぶ必要があります)。

+0

これはどのように答えるのですか?無関係なリンクは別として、あなたは例を提供しませんでした –

+3

時々答えは答えではなく、答えに向かう方向です。 –

1

wjl(http://www.developer.nokia.com/Community/Wiki/QtDbus_quick_tutorial)で説明したチュートリアルも使用しましたが、demoifadaptor。*ファイルがDbusおよびmydemo。*ファイルへのインターフェイスであることを認識するまでは問題がありました。これらの役割は私には明らかではありませんでした(たぶんQtの経験不足のため)。私は、次のmydemo.cファイルを作成したら

とにかく、物事が働いた:

#include "mydemo.h" 
#include <QObject> 
#include <iostream> 

MyDemo::MyDemo(QObject *parent) 
{ 
    // Do nothing 
} 

void MyDemo::SayBye() 
{ 
    std::cout << "Bye" << std::endl; 

} 

void MyDemo::SayHello(const QString &name, const QVariantMap &customdata) 
{ 
    std::cout << "Hello" << std::endl; 
} 

// end of file 
関連する問題