2010-09-20 24 views
0

我對如何獲得應用程序頂部框架有點困惑。我開始了我的應用程序與平時wxPython - 如何獲取頂部框架或應用程序對象

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')作爲參數包含在我的對象調用序列中,以便最後一個對象可以訪問應用程序對象。但是這似乎相當複雜,因爲所有的中間對象都不需要訪問應用程序。

有沒有一種乾淨的方式來訪問應用程序對象?另外,我想要訪問什麼 - 「框架」對象或「應用程序」對象?我不確定這兩個對象之間的區別。

回答

2

我通常不建議做這樣的說法,但需要的方法可能是:

topFrame = wx.GetTopLevelParent()

如果您需要一流間通信,我通常使用的PubSub 。無論如何,我希望這有助於!

+0

感謝您的評論。讓我試試看,並會回來。問候。 – 2010-09-21 05:48:11

+0

它的工作原理! :-)。 – 2010-09-23 19:35:15