2011-01-27 94 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通过它在