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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。