2011-07-09 103 views
1

自學Python和wxPython。不知道我在做什麼錯在這裏,可以使用從人比我聰明多了一些見解...wxPython:對象沒有屬性錯誤

import wx 
from wxPython.wx import * 

class myGUI(wx.Frame): 

    def __init__(self, parent, title):  
     super(myGUI, self).__init__(parent, title=title, 
      size=(450, 350)) 
     panel = wx.Panel(self) 
     sizer = wx.GridBagSizer(5, 5) 

    # Main Database Text, Entry and Browse Button ------------------------------ 
     label_MainDatabase = wx.StaticText(panel, label="Main Database:") 
     sizer.Add(label_MainDatabase, pos=(0, 0), flag=wx.LEFT| 
      wx.ALIGN_CENTER_VERTICAL, border=20) 

     tc_MainDatabase = wx.TextCtrl(panel) 
     sizer.Add(tc_MainDatabase, pos=(0, 1), span=(1, 3), flag=wx.TOP| 
      wx.EXPAND|wx.ALIGN_CENTER_VERTICAL) 
     tc_MainDatabase.Value = "DBG: I am properly initialized." 

     bt_MainDatabase = wx.Button(panel, label="Browse...") 
     sizer.Add(bt_MainDatabase, pos=(0, 4), flag=wx.LEFT|wx.RIGHT| 
     wx.ALIGN_CENTER_VERTICAL, border=0) 
     bt_MainDatabase.Bind(wx.EVT_BUTTON, self.bt_MainDatabaseClick, 
      bt_MainDatabase) 
    # -------------------------------------------------------------------------- 
     sizer.AddGrowableCol(2) 
     panel.SetSizer(sizer) 

     self.Centre() 
     self.Show() 

    def bt_MainDatabaseClick(self, event): 
     # Create a list of filters 
     self.tc_MainDatabase.SetValue = "A" 


if __name__ == '__main__': 
    app = wx.App() 
    myGUI(None, title="myGUI") 

    app.MainLoop() 

我收到以下錯誤,當我點擊「瀏覽」按鈕: AttributeError的:「myGUI」對象沒有屬性'tc_MainDatabase'

我在做什麼錯?我試圖從瀏覽按鈕捕獲信息,然後更新文本控件字段(tc_MainDatabase)。我試過重新排列高清語句的順序等。

是的,我總是用雙腳跳進去。這是我知道如何學習的唯一途徑...... :)

謝謝。

-Chow

回答

2

也許是因爲你說:的

tc_MainDatabase = wx.TextCtrl(panel) 

代替:

self.tc_MainDatabase = wx.TextCtrl(panel) 
+0

我覺得自己像個白癡。 :) 謝謝。 :) – chow

相關問題