アプリケーションに 2 つのウィンドウがあり、これらのウィンドウの 1 つにはデザイン用のフレームがありません。
ウィンドウのあるフレームには、最小化、復元、最大化、閉じるボタンのある通常のツールバーがあります。
フレーム付きウィンドウの閉じるボタンを使用して、フレームなしでウィンドウを閉じる方法はありますか?
はい。2 番目のフレームへの参照を保存するだけです。次のようなもので十分です。
self.secondFrame = MySecondFrame()
次に、最初のフレームの close メソッドで、次のようなことができます。
self.secondFrame.Close()
ただし、通常のツールバーのないフレームを作成することは、ほとんどの OS GUI ガイドラインに反するため、ユーザーはその設計上の決定にイライラする可能性が高いことに注意してください。
編集:はい、ユーザーがウィンドウの「X」ボタンを押したときに発生するイベントを wx.EVT_CLOSE でキャッチできます。その場合、Close メソッドの代わりにメイン フレームの Destroy() メソッドを呼び出す必要があります。そうしないと、Close() を呼び出すと EVT_CLOSE が発生するため、無限ループに陥ります。ただし、2 番目のフレームには引き続き Close() を使用できます。