2011-01-18 8 views
5

私は、.NETアプリケーションで表示したい作業中のQtウィジェットを持っています。アプリケーションはWPFを使用しており、そのウィジェットをUIのどこかに埋め込みたいと考えています。.NET(WPF)アプリケーションにQtウィジェットを組み込む

QtウィジェットをWPFアプリケーションに組み込むための推奨される方法は何ですか? C++/CLIを使用し、HWNDをWPFに渡すか、単にActiveQtを使用する必要がありますか?誰もはQApplication :: execの()を呼び出すされませんので、私は、Qtのイベントメカニズムが心配です

+0

すべてで最もクリーンなものではありません。この質問をしてから、良い解決策を見つけましたか? –

答えて

1

何がCOMオブジェクトに、あなたのウィジェットを有効にするQAxServerを使用している実行する必要があります。

http://developer.qt.nokia.com/doc/qt-4.8/activeqt-server.html

オブジェクトをCOMオブジェクトに変換します。あなたはそのようにそれを参照することができます。しかし、これは実際には3つの技術(Qt、COM、WPF)を扱う通常の方法ではありません。

セットアップバインディングする必要があります前後に通信するための

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

0

はActiveQtはまだ積極的にサポートされています!ちょうど不思議に思って...

私のプロジェクトの1つに私は同様の問題がありました。私はPInvokeを介して呼び出す関数にQt初期化(QApplicationと:: exec())をラップし、QWidgets(QWidget :: getDC()がネイティブハンドルを返す)を使用して解決しました。

これは、クリーンな方法はありませんが、Qtの、COMとWPFを組み合わせることActiveQtが最善の策であるように見えます^^

関連する問題