WxPythonではモーダルフレームで厄介な動作が発生しました。 モーダルウィンドウが現れると、それはフォアグラウンド(メインウィンドウの最上部)に表示され、メインウィンドウはアクセス不可能になります(クリックなどの応答はありません)。WxPython - モーダルウィンドウの動作が不正確
これは、Windowsの開始(ステータス)バーを使用するまで、ネストされたWxFramesで期待どおりに動作しています。 Windowsバーのメインフレームをクリックすると、2番目のフレームの上に表示されます。ユーザーは何が起こっているのか理解できず、ウィンドウにアクセスできない理由が完全に間違っています。
最初の解決策は、最初のフレームのアクティベーションイベントをバインドし、2番目のフレームをフォアグラウンドにプログラム的に設定します(&)。しかし、WxPythonではこの動作が自然に行われているわけではないことが私には奇妙なようです。
誰もが考えているのですか、それともネイティブ/汎用ソリューションですか?
"ネストされたモーダルフレーム"は最初から恐ろしいアイデアのように聞こえます。あなたは、実際に焦点を当てているもののための狩猟の混乱した位置でうまく終わることができます。 –
「入れ子になった」という言葉は忘れてしまった!私は混乱している場合は、タイトルからこの単語を削除します。この問題は "1つの"モーダルフレームでのみ発生し、モーダルウィンドウを使用するのはひどい考えです。 –
モーダルウィンドウは、モーダルウィンドウが閉じられるまで、トップレベルプログラムの他のすべてのワークフローをブロックします。モーダルウィンドウは、ユーザーの注意を引くことを目的としています。ユーザーは、モーダルウィンドウに注意が必要であることを認識せず、メインウィンドウが応答しないという混乱を招きます。重大なケースでは、同じプログラムによって制御される別のウィンドウの後ろにモーダルウィンドウが表示され、モーダルウィンドウを手動で配置できるようになるまでプログラム全体が応答しなくなる可能性があります。 https://en.wikipedia.org/wiki/Modal_window –