私は Cocoa アプリケーションのプラグインに取り組んでおり、既存の cpp コードを使用するために、Cocoa プラグインを Objective-C++ を介して既存の Qt プロジェクトと組み合わせることにしました。良い。
とにかく、私は現在の問題に困惑しています。このプラグインの設計は、アプリケーションが内部に 2 つの NSView を持つ NSWindow を提供するようになっています。これら 2 つのビューのいずれかの内部に QMacNativeWidget を配置すると、そこにあるすべてが正常に機能します。私が抱えている問題は、プラグイン内から新しい QDialog() を作成しようとすると、QDialog が常にプラグインを含む NSWindow の背後にあることです。
新しい QDialog を raise() するかどうかに関係なく、NSWindow は、QDialog へのキーボード フォーカスをすぐに失いますが、常に前面にあります。NSWindow を移動すると、その背後に QDialog が表示されますが、タイトルバーをクリックして移動しても、まだ NSWindow の背後にあります。
誰かが NSWindows と QDialogs を混在させることで同様の問題を抱えているかどうか、また QDialog を別の QMacNativeWidget にラップして別の NSWindow に配置する以外に解決策があるかどうか疑問に思っていました。多くのダイアログ。
ありがとう。