侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

wxPython实现列表增删改查功能

Python  /  管理员 发布于 7年前   205

本文实例为大家分享了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()

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


  • 上一条:
    Python使用Pandas读写Excel实例解析
    下一条:
    python ctypes库2_指定参数类型和返回类型详解
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在python语言中Flask框架的学习及简单功能示例(0个评论)
    • 在Python语言中实现GUI全屏倒计时代码示例(0个评论)
    • Python + zipfile库实现zip文件解压自动化脚本示例(0个评论)
    • python爬虫BeautifulSoup快速抓取网站图片(1个评论)
    • vscode 配置 python3开发环境的方法(0个评论)
    • 近期文章
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2018-04
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2022-01
    • 2023-07
    • 2023-10
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客