wxpython查询功能_wxPython实现列表增删改查功能

#-*-coding: UTF-8 -*-

import wx

class 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()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,首先你需要了解wxPython的基础知识,然后再逐步实现你的信息管理系统,下面是一个简单的wxPython登陆界面的实现过程: 1. 导入wxPython模块 ```python import wx ``` 2. 创建登录界面 ```python class LoginFrame(wx.Frame): def __init__(self): super().__init__(None, title='登录页面', size=(400, 300)) panel = wx.Panel(self) vbox = wx.BoxSizer(wx.VERTICAL) hbox1 = wx.BoxSizer(wx.HORIZONTAL) hbox2 = wx.BoxSizer(wx.HORIZONTAL) hbox3 = wx.BoxSizer(wx.HORIZONTAL) self.title = wx.StaticText(panel, label='欢迎使用个人信息管理系统', style=wx.ALIGN_CENTER) self.title.SetFont(wx.Font(18, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD)) self.username_label = wx.StaticText(panel, label='用户名:') self.username_input = wx.TextCtrl(panel) hbox1.Add(self.username_label, flag=wx.RIGHT, border=8) hbox1.Add(self.username_input, proportion=1) self.password_label = wx.StaticText(panel, label='密 码:') self.password_input = wx.TextCtrl(panel, style=wx.TE_PASSWORD) hbox2.Add(self.password_label, flag=wx.RIGHT, border=8) hbox2.Add(self.password_input, proportion=1) self.login_btn = wx.Button(panel, label='登录') self.register_btn = wx.Button(panel, label='注册') hbox3.Add(self.login_btn, proportion=1) hbox3.Add(self.register_btn, proportion=1, flag=wx.LEFT, border=5) vbox.Add(wx.StaticLine(panel, ), proportion=0, flag=wx.EXPAND | wx.TOP | wx.BOTTOM, border=10) vbox.Add(self.title, 0, wx.CENTER | wx.TOP, 10) vbox.Add(wx.StaticLine(panel, ), proportion=0, flag=wx.EXPAND | wx.TOP | wx.BOTTOM, border=10) vbox.Add(hbox1, flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=10) vbox.Add(hbox2, flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=10) vbox.Add(hbox3, flag=wx.ALIGN_CENTER | wx.TOP, border=20) panel.SetSizer(vbox) self.Center() ``` 3. 设置事件处理函数 ```python class LoginFrame(wx.Frame): def __init__(self): ... self.login_btn.Bind(wx.EVT_BUTTON, self.on_login) self.register_btn.Bind(wx.EVT_BUTTON, self.on_register) def on_login(self, event): # 登录按钮事件处理函数 username = self.username_input.GetValue() password = self.password_input.GetValue() # TODO: 根据输入的用户名和密码查询数据库,验证用户是否存在 # 如果用户存在,则跳转到主页面 # 如果用户不存在,则弹出错误提示框 print('username:', username) print('password:', password) def on_register(self, event): # 注册按钮事件处理函数 # TODO: 跳转到注册页面 print('register') ``` 4. 运行程序 ```python if __name__ == '__main__': app = wx.App() frame = LoginFrame() frame.Show() app.MainLoop() ``` 以上就是一个简单的wxPython登录界面实现的基本流程,你可以根据自己的需求,进一步完善你的信息管理系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值