我对如何在应用程序中获取顶部框架感到困惑。我用通常的
开始我的应用程序class AppFrame(ClientGUI.MyFrame): #ClientGUI.MyFrame generated by wxformbuilder.
def __init__(self):
# create some panels.
# Create some object classes that invoke objects of other classes.
# .. do other stuff ...
if __name__ == '__main__':
app = wx.App(0)
frame = AppFrame()
frame.Show()
app.MainLoop()
鉴于我有一个深度嵌套的类调用序列,我希望调用层次结构底部的一个对象访问应用程序中的某个面板(基本上将一些gui内容放入该面板中)。我能想到的一种方法是将应用程序对象('self')作为参数包含在我的对象调用序列中,以便最后一个对象可以访问应用程序对象。但考虑到所有中间对象都不需要访问应用程序,这似乎相当复杂。
是否有一种干净的方式来访问应用程序对象?另外,我到底想要访问什么 - “框架”对象或“app”对象?我不确定这两个对象之间的区别。
答案 0 :(得分:3)
我通常不建议这样做,但你想要的方法可能是:
topFrame = wx.GetTopLevelParent()
如果您需要课间沟通,我通常会使用PubSub。无论如何,我希望有所帮助!