私はwxPythonの中にGUIを開発しようとしているが、私はいくつかの助けが必要になります。ここで私が達成したいことがあります。 アプリは3つのフレームを有していなければならないが、キャッチは、1つのフレームが一度に表示されなければならないということです。これらのフレームにはそれぞれボタンが必要です。これらのボタンは、一種のメニューとして機能するはずで、現在表示されているフレームを非表示にし、(b)別のフレームを表示する必要があります。 私は一般的なアプローチだけで複数のパネルで1つのフレームを使用することです知っているが、何らかの理由でこのアプローチは、私にとってはあまりにも良い動作しません。 アプリケーションは、スクリーンリーダーのユーザーに完全にアクセス可能である必要があり、パネルの表示と非表示いくつかのケースでは十分ではないようです。私は自分自身をスクリーンリーダーであり、パネルを表示したり隠したりするだけでは、スクリーンリーダーがフレームの内容が変更されたことに気付くとは限りません。私は、異なるフレームをすべて表示することが問題を解決できると推測しています。 ちょっとした実例に感謝します。私は使用すべきもののいくつかを知っていますが、これにもかかわらず私は何かを考え出すことができませんでした。 多くのありがとうございます。wxPythonを:変更フレームOnButtonPress
0
A
答えて
1
あなただけのフレームを隠し、別のものを表示することができます。このように:
import wx
class Frame(wx.Frame):
def __init__(self, title):
wx.Frame.__init__(self, None, title=title, size=(350,200))
btn = wx.Button(self, label="switch")
btn.Bind(wx.EVT_BUTTON, self._OnButtonClick)
self.Bind(wx.EVT_CLOSE, self.OnClose)
def _OnButtonClick(self, event):
self.frame.Show()
self.Hide()
def OnClose(self, event):
self.frame.Destroy()
self.Destroy()
app = wx.App(redirect=True)
f1 = Frame("Frame1")
f2 = Frame("Frame2")
f1.frame = f2
f2.frame = f1
f1.Show()
app.MainLoop()
関連する問題
- 1. wxPythonのMVCフレーム
- 2. wxPythonで別のフレームの要素を変更する
- 3. wxPython - サイズ変更まで表示されるコンテンツのないフレーム
- 4. wxPython - Ubuntuの空白のフレーム
- 5. フレームのサイズ変更を無効にするwxpythonフレームスタイルを追加するには
- 6. wxPythonを、変更のフレームスタイル
- 7. wxPythonの親フレームからサブパネルのUIを更新するには
- 8. wxpython - 別のフレームから入力変数を返す
- 9. wxpythonフレームにwxmplotウィンドウを埋め込む
- 10. ListBoxをフレームwxpythonに配置する
- 11. wx.CAPTIONスタイル、左上のアイコン、クローズボックスのwxPythonフレーム?
- 12. in wxpythonフレームの表示と非表示
- 13. wxPython - インテリアサイザーのサイズを手動で変更
- 14. wxPython - ボタンでパネルを変更する
- 15. wxPythonを:サイズ変更可能な列
- 16. wxPython:ノートブック内でのノートブックのサイズ変更
- 17. WxPythonボタンパネルのボタン(ビットマップ)の変更
- 18. オリエンテーションを変更すると、フレームreactSetFrame :(CGRect)フレームが変更されない
- 19. gwt-フレーム応答URL変更
- 20. オプティカルフロー用フレームのサイズ変更
- 21. SDIフレームのサイズ変更
- 22. 3Dタッチ変更プレビューのフレーム
- 23. wxPython - フレームが最大化されたときにイメージのサイズを動的に変更します。
- 24. wxpythonテキストエディタステータスバーの更新
- 25. フレームを変更してUIImageViewのサイズを変更します。
- 26. wxPythonでメインフレームの子フレームを作成する
- 27. wxPythonで2つのフレーム(一緒に)を使用する方法
- 28. wxPythonアプリケーションのフレームとパネルから枠線を削除する
- 29. JSQMessagesViewControllerのフレームを変更する
- 30. Aフレームでカメラを動的に変更
ありがとうございました。仕事はしっかりしていますが、マイナーなことが1つあります。スクリプトを実行してGUIを閉じると、コンソールは開いたままになります。私の理解が正しい場合、これは隠れフレームがまだ存在するためです(表示されないだけです)。どのように表示フレームが閉じられた後に隠しフレームを閉じるための良い方法? wx.Frame.SetTopWindow()メソッドを使用して、ここでクロスに来たスクリプトの1つです。これはこのシナリオで使用する正しい方法ですか、もしそうなら、それをどこに追加しますか? –
あなたがOnCloseのイベント内でそれを行うことができ、[この回答](http://stackoverflow.com/a/10837130/4281182)を参照してください。両方のフレームで破壊を呼び出す(selfとself.frame) –
ありがとう、それはそれをしました。 –