panel=wx.Panel(self)
panel.SetBackgroundColour(wx.WHITE)
font = wx.Font(8, wx.DEFAULT, wx.NORMAL, wx.BOLD)
self.field1 = wx.TextCtrl(panel,pos=(120,25),size=(170,20))
self.field2 = wx.TextCtrl(panel,pos=(120,90),size=(170,20))
self.field=[self.field1,self.field2]
field1_lbl=wx.StaticText(panel,-1, label='path1:', pos=(25, 25))
field1_lbl.SetFont(font)
field2_lbl=wx.StaticText(panel,-1, label='path2:', pos=(25,90))
field2_lbl.SetFont(font)
self.checkbox1=wx.CheckBox(panel, -1,'Default',pos=(240,45),size=(50,25))
self.checkbox1.SetValue(False)
self.checkbox1.Bind(wx.EVT_CHECKBOX,self.OnDefault)
self.checkbox2=wx.CheckBox(panel, -1,'Default',pos=(240,110),size=(50,25))
self.checkbox2.SetValue(False)
self.checkbox2.Bind(wx.EVT_CHECKBOX,self.OnDefault)
self.checkbox=[self.checkbox1,self.checkbox2]
def OnDefault(self,event):
for checkbox in self.checkbox:
for field in self.field:
if self.checkbox.Value==False:
self.field.Enable(True)
else:
self.field.Enable(False)
如何訪問self.checkbox
列表對象的屬性?我得到一個錯誤說如何訪問列表對象的屬性?
Traceback (most recent call last):
File "D:\PROJECT\mypro.py", line 251, in OnDefault
if self.checkbox.Value==False:
AttributeError: 'list' object has no attribute 'Value'
我試圖用一個錯誤回溯你的代碼(最最近調用最後): 文件「D:\ PROJECT \ mypro.py」,行148,OnDefault self.field.Enable(False) AttributeError:'list'對象沒有屬性'Enable' – Aramanethota 2013-03-13 09:59:53
對不起,我的壞。我編輯了這篇文章,並從self.field.Enable(..) – Anthon 2013-03-13 11:59:46
中刪除了'self.'。它爲我工作,它幫助我減少了代碼。感謝@Anthon分享你的知識。 – Aramanethota 2013-03-14 08:51:18