2009-09-07 10 views
9

私たちはいくつかのPC上でリモートGUIを実行しており、すべてメインアプリケーションが動作している中央サーバと通信しています。私たち自身のマニュアルネットワークプロトコルをハックしたりボタンプレスやさまざまなイベントのためのレイヤーをマーシャリングするのではなく、これは何とかもっと巧みに解決できるというのが私の希望です。Qt信号/スロットをネットワーク経由で実行する方法はありますか?

実際には、これらのQtオブジェクトのネットワークプロキシを自動生成したり、何らかの形でRPCインタフェースを介して信号/スロットを接続したりすることは面白いでしょう。

  • なんとかする必要がありますQtの.uiファイルに基づいてコードジェネレータを書く、多分他の誰かが(成功の有無にかかわらず)の前にこれを試してみましたか?

  • もう一つのアイデアは、Pythonでネットワーク化されたプロキシオブジェクト用のPyQtといくつかのメカニズムを使用することです。

  • Qt固有の問題が発生しない場合、どのようにして一般的にリモートGUIを解決しますか?

(私たちはQtのスタイルを必要とし、より多くの空想のウィジェットと、おそらくよりスピーディーなGUIとしてWebサーバー/クライアントを使用すると、OKではありません。)

答えて

9

QtのためQxt拡張ライブラリはQxtRPCPeerクラス

QxtRPCPeerは Qtの信号をカプセル化し、 ネットワーク接続を介してそれらを送信するツールです。信号は、接続の受信側の でその後に再放出された です。

最終編集(関連OPのコメントは午後4時23分で2月26日'11に下記掲載):

更新後1,5年。私たちは、今年1年間、本番ソフトウェアでQxtRPCPeerを使用してきました。まったく不具合はありません。(2015年5月22日にOPによって)

最終編集:

LibQxtは、内部APIの変更に追いついて、0.6.2のように、もはや維持されていないが、著者のためにあまりにも多くの仕事です。いくつかの部品はまだ使用可能かもしれませんが、あなた自身でそれを維持する必要があります。

+0

これまでの経験は?それはソケット+シリアル化の代替として機能することができますか? – rpg

+0

それを経験していない、すべてのフィードバックは歓迎です – TimW

+0

興味深い見て..調査し、戻ってくるだろう。 – Macke

1

"リモートGUIのQt" のためのGoogleの検索、私はthisヴェガと呼ばれるプロジェクトに出くわしました。これはQtに基づいており、簡潔には次のようになります。

Vedgaは ネットワークGUIアプリケーションを開発するためのツールキットです。 サーバー側のQtプログラミングスタイルを使用してコードを書くだけで、クライアント側の を忘れてしまう可能性があります。

これは価値があるかもしれません。それをチェックし、将来の参照のためにそれについてのあなたの観察を投稿するといいですね。

+0

2002年最後にコミットされたようです。 – Macke

0

コードを書くことでこの問題は解決しません。私はすでに存在するツールを使用します。

これは、Windows用のRDP(ターミナルサービス)または他のOS用の単純なX(簡単なネットワークサポートのため)です。

+0

問題を解決するためにRDP for Windowsを設定する方法へのリンクはありますか?私はRDPを一度も使用していないので、パフォーマンスや実装の難しさについて何を期待するのかはほとんど考えていません。 – Macke

関連する問題