2011-07-09 19 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)を更新しようとしています。私はdef文などの順序を並べ替えてみました。

そして、私はいつも両方の足でジャンプします。それは私が学ぶ方法を知っている唯一の方法です::)

ありがとう。

-Chow

答えて

2

あなたが言っているので、多分それはです:

tc_MainDatabase = wx.TextCtrl(panel) 

の代わり:

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

を私はバカのように感じます。 :)ありがとう。 :) – chow

関連する問題