別のアプリケーションウィンドウを自分のwxウィンドウの親にする方法を知りたい。別のアプリケーションのウィンドウのwxウィンドウの親を作る方法は?
twainモジュールがそういったことができるので可能です。
例えば、pygame.displayのハンドルを渡すと、表示されるスキャンダイアログの親として機能します。 あなたはTk()またはwx.Frame()のハンドルを直接与えることができます(ただし、とにかくハンドル番号だけを取り込みます)。
または、たとえばメモ帳など、全く異なるアプリケーションのハンドルを渡すことができます。
私はこれを達成したいと思います。そのため、私のwxダイアログやポップアップウィンドウは、別のアプリケーションでモーダルモードで表示されます。
あなたはすでに私がMS Windowsでそれをやりたいと推測しました。 さて、私はそれをクロスプラットフォームでやってみたいですが、他のプラットフォームは、他のアプリのインターフェースを誰かが混乱させるほど馬鹿ではありません。 確かにそれは可能だと思うが、はるかに難しい。だから、今のところWindowsだけです。
これは私がwx.WindowやFrame、Panelなどをエミュレートして、選択したウィンドウハンドルに基づいてダイアログに渡す必要があると思います。またはそのようなもの。
アイデア?
ここに2つの問題があります。私は親なしでwx.Window()を作成することは許されていません、wx.Frame()できます。しかし - 2.wx.Frameではありません。SetId()は、wxイベントマネージャのローカライズされたIDのみですか? wx.Frame.GetId()!= wx.Frame.GetHandle()を参照してください。 wx.Frame.SetHandle()もありません。 – Dalen
ああ、ええ、私はwxWidgetsを見つけました。少なくとも新しいversioはwxNativeWindowクラスを持っています。これは私が必要とするものですが、wxPythonはまだありません。私は何とかそれをエミュレートする必要があります.n – Dalen
私はいくつかの追加情報で答えを更新しました。 PS:wxWidgetsライブラリで作業していた前回、wxWidgetsソースを変更した前回は2012年になったと思っていましたので、現在、wxWidgetsについてより正確で役立つことは難しいです。 Sry。 – KromviellBlack