2011-01-27 23 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通過它在