2012-11-11 8 views
0

我有一個wxPython應用程序,其中包含用戶ID,密碼和隧道ID(用於IPv6更新程序)等文本框。這些值保存在txt文件中,以便用戶在啓動應用程序時不必繼續輸入。我有一個名爲「ReadInformation()」的方法來處理這個問題,但我需要知道在我的應用程序中調用它的位置。如何在打開時將值加載到wxPython應用程序中?

本質上,我想要的是打開窗口,並將值預先填充到文件的文本框中。我試過從不同的地方調用ReadInformation(),但似乎沒有任何工作。那麼,我是否需要爲框架創建一個「OnLoad」類型的事件,還是應該將該呼叫放在其他地方?

下面是我當前的代碼http://bpaste.net/show/WjMo9nfHZJQH77Gza4w5/

感謝的鏈接,並有一個偉大的週末。:) 帕特里克。

回答

1

直接讓你的方法創建的控件之後並且所示的幀之前:

def __init__(self, parent): 
    self._init_ctrls(parent) 
    self.readInformation() 

在創建幀,__init__()被執行,創建控制和填充信息(可見之前它) :

frame = Frame1(None).Show() 

或者您可以撥打readInformation()創建框架後:

frame = Frame1(None) 
frame.readInformation() 
frame.Show() 

此外,您可能希望將wx.Frame.__init__(...)移動到框架的__init__中,因爲它是基類而不是控件。

+0

謝謝。我最終把它放在主應用程序文件中,在所有內容被調用並顯示了框架之後。我也會試試你的位置,只是爲了找出它們之間的差異,以及它是否比另一個更有效。另外,我也會看看wx.Frame .__ init__方法。 BoaConstructor把它放在了現在的位置。 – PatrickDickey

相關問題