2011-01-27 34 views

答えて

0

直接wx.Frame内からwx.Appオブジェクトにアクセスする方法がある場合、私はそれが何であるかわからないので、私がこれに苦労やってることが可能です:

class MainWindow(wx.Frame): 
    def __init__(self, parent, id, title, app): 
     wx.Frame.__init__(self, parent, id, title) 
     self.app = app 
     #... 

class CustomApp(wx.App): 
    def __init__(self): 
     wx.App.__init__(self) 
     self.value = None 

    def SetValue(self, value): 
     self.value = value 

    def GetValue(self): 
     return self.value 


app = CustomApp() 
frm = MainWindow(None, wx.ID_ANY, "Main Window", app) 
frm.Show() 
app.MainLoop() 

print(app.GetValue()) 

アプリケーション内では、フレーム内の任意の場所からself.app.SetValue()を呼び出してから、メインループの終了後に値を取得するためにapp.GetValue()を呼び出すことができます。

1

実際には、フレームの中からあなたがwx.GetAppを(使用してアプリケーションを参照することができる)ので、あなたのメインウィンドウ

のinitを経由して、それを渡す必要性を取り除きます
関連する問題