首页 > 编程 > Python > 正文

wxPython实现列表增删改查功能

2019-11-25 11:24:07
字体:
来源:转载
供稿:网友

本文实例为大家分享了wxPython实现列表增删改查的具体代码,供大家参考,具体内容如下

#-*-coding: UTF-8 -*-import wxclass AddBanjiListEditAndDelDialog(wx.Dialog):  print("We are now doing the AddBanjiListDialog Handle!!!") 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() def InitUI(self):   if 0:   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())    if 1:    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)     def EditButtonHandler(self,event):  #MyFrame.SonSonPanel0StaticText.SetLabelText("jjjjj")  self.Destroy()  print("EditButtonHandler !!!!") def DelButtonHandler(self,event):  #MyFrame.SonSonPanel0.Destroy()  if 1:   print("我的当前的index的value:",self.index)   MyFrame.SonHostPanelList[self.index][0].Destroy()   print("len(MyFrame.SonHostPanelList):",len(MyFrame.SonHostPanelList))   del MyFrame.SonHostPanelList[self.index]   print("len(MyFrame.SonHostPanelList):",len(MyFrame.SonHostPanelList))   TotalLen = len(MyFrame.SonHostPanelList)   for i in range(0,TotalLen):    print("i's value:",i)    #setValue = ()    Getvalue = MyFrame.SonHostPanelList[i][0].GetPosition()    #print("MyFrame.SonHostPanelList[self.index][0].GetPosition()'s value:",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 = lambda evt,i=MyFrame.SonHostPanelList[i][0].GetId():MyFrame.SonSonPanel0EventLeftUp(evt,i),          source=None,          id=wx.ID_ANY,          id2=wx.ID_ANY)        #del MyFrame.SonHostPanelList[self.index]   MyFrame.SonHostPanel.Refresh()  else:   TotalLen = len(MyFrame.SonHostPanelList)   for i in range(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 !!!")class MyTestPanel(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) def SonHostPanelLeftDown(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 = lambda evt,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 = lambda evt,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("SonHostPanelLeftDown handle!!!") def SonSonPanel0EventEnterWindow(self,event):   print("SonSonPanel0EventEnterWindow handle!!!")  def SonSonPanel0EventLeaveWindow(self,event):  print("SonSonPanel0EventLeaveWindow handle!!!") def SonSonPanel0EventLeftDown(self,event):  #print("获取当前的位置:",event.GetPosition())  print("SonSonPanel0EventLeftDown handle!!!") def SonSonPanel0EventLeftUp(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)  if 0:   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("SonSonPanel0EventLeftUp handle !!!") def SonSonPanel0StaticTextEventEnterWindow(self,event):  print("SonSonPanel0StaticTextEventEnterWindow handle!!!") def SonSonPanel0StaticTextEventLeaveWindow(self,event):  print("SonSonPanel0StaticTextEventLeaveWindow handle!!!") def SonSonPanel0StaticTextEventLeftDown(self,event):  #print(event.source   #print("当前的索引:",str(index))  print("Get Now Event postion:",event.GetPosition())  print("SonSonPanel0StaticTextEventLeftDown handle!!!") def SonSonPanel0StaticTextEventLeftUp(self,event,index):  print("当前的索引:",str(index))  #self.AddBanjiListEditAndDelDialogValue = AddBanjiListEditAndDelDialog(self,size=(100,60))  print("SonSonPanel0StaticTextEventLeftUp handle!!!") def ClasspopupDialogEventEnterWindow(self,event):  print("ClasspopupDialogEventEnterWindow handle!!!") def ClasspopupDialogEventLeaveWindow(self,event):  print("ClasspopupDialogEventLeaveWindow handle!!!") def ClasspopupDialogLeftDown(self,event):  print("ClasspopupDialogLeftDown handle!!!") def ClasspopupDialogLeftUp(self,event):  print("ClasspopupDialogLeftUp handle!!!")if __name__ == "__main__": print("do the function") MyApp = wx.App(False) MyFrame =MyTestPanel(None,size=(400,600),postion=(20,30)) MyApp.MainLoop()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表