wxPython实现列表增删改查功能
本文实例为大家分享了wxPython实现列表增删改查的具体代码,供大家参考,具体内容如下
#-*-coding:UTF-8-*- importwx classAddBanjiListEditAndDelDialog(wx.Dialog): print("WearenowdoingtheAddBanjiListDialogHandle!!!") print(">>><>><><>fdsaflkdsajfldsa") def__init__(self,parent,size,index): #print("虐self.GetPosition():",self.GetPosition()) print("虐MyFrame.GetPosition():",MyFrame.GetPosition()) print("虐MyFrame.SonHostPanelList[index][0].GetPosition():", MyFrame.SonHostPanelList[index][0].GetPosition()) #wx.Dialog.__init__(self,parent=MyFrame.SonHostPanelList[index][0],size=size,pos=(100,30*index)+MyFrame.GetPosition(),style=wx.DIALOG_NO_PARENT) wx.Dialog.__init__(self,parent=parent,size=size,pos=(100,30*index)+MyFrame.GetPosition(),style=wx.DIALOG_NO_PARENT) self.index=index self.InitUI() #self.Centre() self.ShowModal() defInitUI(self): if0: self.p=wx.Panel(self) self.p.SetBackgroundColour("#444444") self.EditButton=wx.Button(self.p, id=wx.ID_ANY, label=u"编辑", pos=(0,0), size=(100,29), style=wx.BORDER_NONE) self.DeleteButton=wx.Button(self.p, id=wx.ID_ANY, label=u"删除", pos=(0,30), size=(100,30), style=wx.BORDER_NONE) self.EditButton.SetBackgroundColour("white") self.DeleteButton.SetBackgroundColour("white") self.EditButton.Bind(event=wx.EVT_BUTTON, handler=self.EditButtonHandler, source=None, id=wx.ID_ANY, id2=wx.ID_ANY) self.DeleteButton.Bind(event=wx.EVT_BUTTON, handler=self.DelButtonHandler, source=None, id=wx.ID_ANY, id2=wx.ID_ANY) else: #self.p=MyFrame.SonHostPanelList[self.index][0] #self.p=MyFrame.SonHostPanel #print(MyFrame.SonHostPanelList[self.index][0]) print("30*self.index:",30*self.index) self.p=wx.Panel(self) self.p.SetBackgroundColour("#444444") #self.p.SetPosition((0,30*self.index)) print("self.p.GetPostion():",self.p.GetPosition()) if1: self.EditButton=wx.Button(self.p, id=wx.ID_ANY, label=u"编辑", pos=(0,0), size=(100,29), style=wx.BORDER_NONE) self.DeleteButton=wx.Button(self.p, id=wx.ID_ANY, label=u"删除", pos=(0,30), size=(100,30), style=wx.BORDER_NONE) self.EditButton.SetBackgroundColour("white") self.DeleteButton.SetBackgroundColour("white") self.EditButton.Bind(event=wx.EVT_BUTTON, handler=self.EditButtonHandler, source=None, id=wx.ID_ANY, id2=wx.ID_ANY) self.DeleteButton.Bind(event=wx.EVT_BUTTON, handler=self.DelButtonHandler, source=None, id=wx.ID_ANY, id2=wx.ID_ANY) defEditButtonHandler(self,event): #MyFrame.SonSonPanel0StaticText.SetLabelText("jjjjj") self.Destroy() print("EditButtonHandler!!!!") defDelButtonHandler(self,event): #MyFrame.SonSonPanel0.Destroy() if1: print("我的当前的index的value:",self.index) MyFrame.SonHostPanelList[self.index][0].Destroy() print("len(MyFrame.SonHostPanelList):",len(MyFrame.SonHostPanelList)) delMyFrame.SonHostPanelList[self.index] print("len(MyFrame.SonHostPanelList):",len(MyFrame.SonHostPanelList)) TotalLen=len(MyFrame.SonHostPanelList) foriinrange(0,TotalLen): print("i'svalue:",i) #setValue=() Getvalue=MyFrame.SonHostPanelList[i][0].GetPosition() #print("MyFrame.SonHostPanelList[self.index][0].GetPosition()'svalue:",value) Setvalue=(10,10+30*i) MyFrame.SonHostPanelList[i][0].SetPosition(Setvalue) MyFrame.SonHostPanelList[i][0].SetId(i) MyFrame.SonHostPanelList[i][0].Bind(event=wx.EVT_LEFT_UP, #handler=self.SonSonPanel0StaticTextEventLeftUp, handler=lambdaevt,i=MyFrame.SonHostPanelList[i][0].GetId():MyFrame.SonSonPanel0EventLeftUp(evt,i), source=None, id=wx.ID_ANY, id2=wx.ID_ANY) #delMyFrame.SonHostPanelList[self.index] MyFrame.SonHostPanel.Refresh() else: TotalLen=len(MyFrame.SonHostPanelList) foriinrange(0,TotalLen): #MyFrame.SonHostPanelList[i][0].SetId(i) if(MyFrame.SonHostPanelList[i][0].GetId()==self.index): print("我们获取删除的的panel的id值了self.index:",self.index) print("我们获取删除的的panel的id值了self.index:",i) self.Destroy() print("DelButtonHandler!!!") classMyTestPanel(wx.Frame): def__init__(self,parent,size,postion): self.HostFrame=wx.Frame.__init__(self,parent=parent,size=size,pos=postion) self.HostPanel=wx.Panel(self, id=wx.ID_ANY, pos=(10,10), size=(300,500), style=wx.TAB_TRAVERSAL, ) self.HostPanel.SetBackgroundColour("green") self.SonHostPanel=wx.Panel(self.HostPanel, id=wx.ID_ANY, pos=(10,10), size=(250,400), style=wx.TAB_TRAVERSAL, ) self.SonHostPanel.SetBackgroundColour("white") self.SonHostPanelList=[] self.SonHostPanelCellList=[0,0,0,0] self.SonHostPanel.Bind(event=wx.EVT_LEFT_DOWN, handler=self.SonHostPanelLeftDown, source=None, id=wx.ID_ANY, id2=wx.ID_ANY) self.Show(True) defSonHostPanelLeftDown(self,event): print(len(self.SonHostPanelList)) print(len(self.SonHostPanelCellList)) SonHostPanelListLen=len(self.SonHostPanelList) TempSonHostPanelCellList=[0,0,0,0] #self.SonHostPanelList.append(self.SonHostPanelCellList) self.SonHostPanelList.append(TempSonHostPanelCellList) self.SonHostPanelList[SonHostPanelListLen][0]=wx.Panel(self.SonHostPanel, id=SonHostPanelListLen, pos=(10,10+SonHostPanelListLen*30), size=(150,30), style=wx.TAB_TRAVERSAL, ) self.SonHostPanelList[SonHostPanelListLen][1]=wx.StaticText(self.SonHostPanelList[SonHostPanelListLen][0], id=wx.ID_ANY, label=str(SonHostPanelListLen), pos=(10,5), size=(100,25)) self.SonHostPanelList[SonHostPanelListLen][0].Bind(event=wx.EVT_ENTER_WINDOW, handler=self.SonSonPanel0StaticTextEventEnterWindow, source=None, id=wx.ID_ANY, id2=wx.ID_ANY) self.SonHostPanelList[SonHostPanelListLen][0].Bind(event=wx.EVT_LEAVE_WINDOW, handler=self.SonSonPanel0StaticTextEventLeaveWindow, source=None, id=wx.ID_ANY, id2=wx.ID_ANY) self.SonHostPanelList[SonHostPanelListLen][0].Bind(event=wx.EVT_LEFT_DOWN, handler=self.SonSonPanel0StaticTextEventLeftDown, #handler=lambdaevt,i=self.SonHostPanelList[SonHostPanelListLen][0].GetId():self.SonSonPanel0StaticTextEventLeftDown(evt,i), #source=SonHostPanelListLen, id=wx.ID_ANY, id2=wx.ID_ANY) self.SonHostPanelList[SonHostPanelListLen][0].Bind(event=wx.EVT_LEFT_UP, #handler=self.SonSonPanel0StaticTextEventLeftUp, handler=lambdaevt,i=self.SonHostPanelList[SonHostPanelListLen][0].GetId():self.SonSonPanel0EventLeftUp(evt,i), source=None, id=wx.ID_ANY, id2=wx.ID_ANY) #self.SonSonPanel0.SetBackgroundColour("red") self.SonHostPanelList[SonHostPanelListLen][0].SetBackgroundColour("red") self.SonHostPanel.Refresh() print("SonHostPanelLeftDownhandle!!!") defSonSonPanel0EventEnterWindow(self,event): print("SonSonPanel0EventEnterWindowhandle!!!") defSonSonPanel0EventLeaveWindow(self,event): print("SonSonPanel0EventLeaveWindowhandle!!!") defSonSonPanel0EventLeftDown(self,event): #print("获取当前的位置:",event.GetPosition()) print("SonSonPanel0EventLeftDownhandle!!!") defSonSonPanel0EventLeftUp(self,event,index): #print("event.GetPostion:",event.GetPosition()) #print("SonSonPanel0.GetPostion:",self.SonSonPanel0.GetPosition()) print("当前tony的定位的index值:",index) self.AddBanjiListEditAndDelDialogValue=AddBanjiListEditAndDelDialog(self,size=(100,60),index=index) if0: self.ClasspopupDialog=wx.Panel(self, id=wx.ID_ANY, pos=(152+10,5)+self.SonSonPanel0.GetPosition(), size=(50,50)) self.ClasspopupDialog.SetBackgroundColour("#FFE1FF") self.ClasspopupDialog.Refresh() self.ClasspopupDialog.Bind(event=wx.EVT_ENTER_WINDOW, handler=self.ClasspopupDialogEventEnterWindow, #source=None, id=wx.ID_ANY, id2=wx.ID_ANY) self.ClasspopupDialog.Bind(event=wx.EVT_LEAVE_WINDOW, handler=self.ClasspopupDialogEventEnterWindow, #source=None, id=wx.ID_ANY, id2=wx.ID_ANY) self.ClasspopupDialog.Bind(event=wx.EVT_LEFT_DOWN, handler=self.ClasspopupDialogLeftDown, #source=None, id=wx.ID_ANY, id2=wx.ID_ANY) self.ClasspopupDialog.Bind(event=wx.EVT_LEFT_UP, handler=self.ClasspopupDialogLeftUp, #source=None, id=wx.ID_ANY, id2=wx.ID_ANY) print("SonSonPanel0EventLeftUphandle!!!") defSonSonPanel0StaticTextEventEnterWindow(self,event): print("SonSonPanel0StaticTextEventEnterWindowhandle!!!") defSonSonPanel0StaticTextEventLeaveWindow(self,event): print("SonSonPanel0StaticTextEventLeaveWindowhandle!!!") defSonSonPanel0StaticTextEventLeftDown(self,event): #print(event.source #print("当前的索引:",str(index)) print("GetNowEventpostion:",event.GetPosition()) print("SonSonPanel0StaticTextEventLeftDownhandle!!!") defSonSonPanel0StaticTextEventLeftUp(self,event,index): print("当前的索引:",str(index)) #self.AddBanjiListEditAndDelDialogValue=AddBanjiListEditAndDelDialog(self,size=(100,60)) print("SonSonPanel0StaticTextEventLeftUphandle!!!") defClasspopupDialogEventEnterWindow(self,event): print("ClasspopupDialogEventEnterWindowhandle!!!") defClasspopupDialogEventLeaveWindow(self,event): print("ClasspopupDialogEventLeaveWindowhandle!!!") defClasspopupDialogLeftDown(self,event): print("ClasspopupDialogLeftDownhandle!!!") defClasspopupDialogLeftUp(self,event): print("ClasspopupDialogLeftUphandle!!!") if__name__=="__main__": print("dothefunction") MyApp=wx.App(False) MyFrame=MyTestPanel(None,size=(400,600),postion=(20,30)) MyApp.MainLoop()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。