サードパーティ製の非Qt Windowsアプリケーションと統合する必要があるDLLにQtアプリケーションがあります。私はサードパーティのアプリケーションを所有していないので、コアイベント処理メカニズムを変更することはできません(私はソースもありません)。これを行う最善の方法は何ですか?サードパーティアプリケーション内のQtプラグインアプリケーション
私はQtWinMigrateフレームワークを試しましたが、これで私はできないCWinApp :: Runを変更できます。代わりにQApplicationを作成してexec()を呼び出すと、2番目のイベントループが作成されます。このような作品では、非Qtアプリケーションイベントのいくつかが不思議に消えてしまいました(例えば、ツールチップやキーボードコマンドが機能しなくなりました)。
大変ありがとうございます。ありがとう。
フィードバックに感謝します。私はこれを調査し、私のサンプルアプリケーションで動作しました(QApplicationの代わりにQAbstractEventDispatcherインスタンスでフィルタを設定する必要がありましたが)。言うまでもなく、プロダクション環境はかなり複雑です.2つのイベントループを別々のスレッドで実行する必要がありました(2つのアプリケーション間の通信には細心の注意が必要です)。ありがとう。 – Robin
@Robin何もありません。また、新しいQtコードとMFCレガシーアプリケーションを統合する方法についても説明しました。この種の解決策の問題は、単一のイベントループのようなQtの施設に違反し、非常に微妙で追跡が難しいバグを生成する可能性があることです。とにかく、現実世界の問題には現実世界の解決策が必要です。がんばろう :) –