Python dd(self.m_staticText7,0,wx.ALL | wx.ALIGN_CENTER_卧式| wx.ALIGN_CENTER_立式,5) self.L_Name=wx.TextCtrl(self,wx.ID_ANY,wx.EmptyString,wx.DefaultPosition,wx.DefaultSize,0) self.L_Name.SetMinSize(宽x.Size(200,15)) self.L_Name.SetMaxSize(wx.Size(500,15)) gSizer6.添加(self.L_Name,0,wx.ALL | wx.ALIGN_CENTER_HORIZONTAL | wx.EXPAND | wx.ALIGN_CENTER_VERTICAL,5) self.m_staticText8=wx.StaticText(self,wx.ID_ANY,u“地址”,wx.DefaultPosition,wx.DefaultSize,0) self.m_staticText8.Wrap(-1) gSizer6.Add(self.m_staticText8,0,wx.ALL | wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL,5) self.Address=wx.TextCtrl(self,wx.ID_ANY,wx.EmptyString,wx.DefaultPosition,wx.DefaultSize,0) self.Address.SetMinSize(宽x.Size(200,15)) self.Address.SetMaxSize(wx.Size(500,15)) gSizer6.Add(self.Address,0,wx.ALL | wx.ALIGN |居中|水平| wx.ALIGN |居中|垂直| wx.EXPAND,5) self.m_staticText12=wx.StaticText(self,wx.ID_ANY,u“Status”,wx.DefaultPosition,wx.DefaultSize,0) self.m_staticText12.Wrap(-1) gSizer6.Add(self.m_staticText12,0,wx.ALL | wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL,5) 统计选项=[“活动”、“非活动”、“存档”] self.Cust\u Stat=wx.ComboBox(self,wx.ID\u ANY,u“”,wx.DefaultPosition,wx.DefaultSize,Stat\u选项,0) 自定制统计设置尺寸(宽x.尺寸(200,15)) 自客户统计设置最大值(wx.Size(300,15)) self.Cust\u Stat.Bind(wx.EVT\u组合框,self.OnSelect) gSizer6.Add(self.Cust_Stat,0,wx.ALL,5) 添加(gSizer6,1,wx.EXPAND,5) bSizer13=wx.BoxSizer(wx.HORIZONTAL) self.m_button24=wx.按钮(self,wx.ID_ANY,u“ok”,wx.DefaultPosition,wx.DefaultSize,0) self.m_按钮24.Bind(wx.EVT_按钮,self.ok) bSizer13.添加(self.m_按钮24,1,wx.ALL | wx.ALIGN_CENTER_VERTICAL,5) self.m_button25=wx.按钮(self,wx.ID_ANY,u“取消”,wx.DefaultPosition,wx.DefaultSize,0) self.m_按钮25.Bind(wx.EVT_按钮,self.closeDial) bSizer13.添加(self.m_按钮25,1,wx.ALL | wx.ALIGN_CENTER_VERTICAL,5) 添加(bSizer13,1,wx.EXPAND,5) 自我设定器(bSizer6) self.Layout() 自中心(wx和wx) def OnSelect(自身、事件): self.Cust_Stat.GetValue() def关闭拨号(自身、事件): 自我毁灭 def正常(自身、事件): self.entry.set_详细信息(str(self.Cust_ID.GetValue()), str(self.F_Name.GetValue()), str(self.L_Name.GetValue()), str(self.Address.GetValue()), str(self.Cust\u Stat.GetValue()) 自我毁灭 定义(自我): 通过 def main(): ex=wx.App() 客户名称(无) 例如MainLoop() 如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu': main()

Python dd(self.m_staticText7,0,wx.ALL | wx.ALIGN_CENTER_卧式| wx.ALIGN_CENTER_立式,5) self.L_Name=wx.TextCtrl(self,wx.ID_ANY,wx.EmptyString,wx.DefaultPosition,wx.DefaultSize,0) self.L_Name.SetMinSize(宽x.Size(200,15)) self.L_Name.SetMaxSize(wx.Size(500,15)) gSizer6.添加(self.L_Name,0,wx.ALL | wx.ALIGN_CENTER_HORIZONTAL | wx.EXPAND | wx.ALIGN_CENTER_VERTICAL,5) self.m_staticText8=wx.StaticText(self,wx.ID_ANY,u“地址”,wx.DefaultPosition,wx.DefaultSize,0) self.m_staticText8.Wrap(-1) gSizer6.Add(self.m_staticText8,0,wx.ALL | wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL,5) self.Address=wx.TextCtrl(self,wx.ID_ANY,wx.EmptyString,wx.DefaultPosition,wx.DefaultSize,0) self.Address.SetMinSize(宽x.Size(200,15)) self.Address.SetMaxSize(wx.Size(500,15)) gSizer6.Add(self.Address,0,wx.ALL | wx.ALIGN |居中|水平| wx.ALIGN |居中|垂直| wx.EXPAND,5) self.m_staticText12=wx.StaticText(self,wx.ID_ANY,u“Status”,wx.DefaultPosition,wx.DefaultSize,0) self.m_staticText12.Wrap(-1) gSizer6.Add(self.m_staticText12,0,wx.ALL | wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL,5) 统计选项=[“活动”、“非活动”、“存档”] self.Cust\u Stat=wx.ComboBox(self,wx.ID\u ANY,u“”,wx.DefaultPosition,wx.DefaultSize,Stat\u选项,0) 自定制统计设置尺寸(宽x.尺寸(200,15)) 自客户统计设置最大值(wx.Size(300,15)) self.Cust\u Stat.Bind(wx.EVT\u组合框,self.OnSelect) gSizer6.Add(self.Cust_Stat,0,wx.ALL,5) 添加(gSizer6,1,wx.EXPAND,5) bSizer13=wx.BoxSizer(wx.HORIZONTAL) self.m_button24=wx.按钮(self,wx.ID_ANY,u“ok”,wx.DefaultPosition,wx.DefaultSize,0) self.m_按钮24.Bind(wx.EVT_按钮,self.ok) bSizer13.添加(self.m_按钮24,1,wx.ALL | wx.ALIGN_CENTER_VERTICAL,5) self.m_button25=wx.按钮(self,wx.ID_ANY,u“取消”,wx.DefaultPosition,wx.DefaultSize,0) self.m_按钮25.Bind(wx.EVT_按钮,self.closeDial) bSizer13.添加(self.m_按钮25,1,wx.ALL | wx.ALIGN_CENTER_VERTICAL,5) 添加(bSizer13,1,wx.EXPAND,5) 自我设定器(bSizer6) self.Layout() 自中心(wx和wx) def OnSelect(自身、事件): self.Cust_Stat.GetValue() def关闭拨号(自身、事件): 自我毁灭 def正常(自身、事件): self.entry.set_详细信息(str(self.Cust_ID.GetValue()), str(self.F_Name.GetValue()), str(self.L_Name.GetValue()), str(self.Address.GetValue()), str(self.Cust\u Stat.GetValue()) 自我毁灭 定义(自我): 通过 def main(): ex=wx.App() 客户名称(无) 例如MainLoop() 如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu': main(),python,wxpython,Python,Wxpython,不知道这个错误到底意味着什么。有什么想法吗 每当请求dict()对象时(使用 格式a=adict[key]),并且该键不在字典中 所以很可能,self.list.GetItemText(long(self.index))是self.entrydict中的一个键。你能用print()语句检查一下吗?1.要在ListCtrl中获取所选项目的列表,在wx.lib.mixins.ListCtrl中有一个函数getListCtrlSelection,因此你的GetSelectedItems方法可以重写为

不知道这个错误到底意味着什么。有什么想法吗

每当请求dict()对象时(使用 格式a=adict[key]),并且该键不在字典中


所以很可能,
self.list.GetItemText(long(self.index))
self.entrydict
中的一个键。你能用
print()
语句检查一下吗?

1.要在ListCtrl中获取所选项目的列表,在
wx.lib.mixins.ListCtrl
中有一个函数
getListCtrlSelection
,因此你的
GetSelectedItems
方法可以重写为

def GetSelectedItems(self, event):
    from wx.lib.mixins.listctrl import getListCtrlSelection
    self.index = getListCtrlSelection(self.list)
    return self.index
2.
self.index
是一个索引列表,
ListCtrl.GetItemText
需要一个索引作为输入,因此要获得所选项目的列表,可以使用列表理解:

items = [self.list.GetItemText(i) for i in self.index]
然后,您可以根据从
self.list
获得的内容,从
self.entrydict
获取条目:

entries = [self.entrydict[item] for item in items]

所以,如果是这样的话,我在listctrl中获取当前选定项的索引有什么解决方法吗?
items = [self.list.GetItemText(i) for i in self.index]
entries = [self.entrydict[item] for item in items]