编写一个空窗体程序
import wx#导入wxPython包class MainFrame(wx.Frame):#定义MainFrame类(代表程序的主窗体),它是wx.Frame类的子类def __init__(self):super().__init__(parent=None,id=-1,title="程序主窗体",size=(400,300))#调用wx.Frame类的构造方法来创建程序主窗体if __name__ == "__main__" :app=wx.App()#定义一个wx.App类的对象appmainFrame=MainFrame()mainFrame.Show()app.MainLoop()

在窗体中添加控件,构造窗体界面
import wx#导入wxPython包class MainFrame(wx.Frame):#定义MainFrame类(代表程序的主窗体),它是wx.Frame类的子类def __init__(self):#主窗体的构造方法super().__init__(parent=None,id=-1,title="程序主窗体",size=(400,300))#调用wx.Frame类的构造方法来创建程序主窗体self.panel=wx.Panel(parent=self)#定义了panel对象,他是个wx.Panel类对象,代表一个面板self.title=wx.StaticText(parent=self.panel,label="请输入用户名和密码",pos=(140,20))#定义一个wx.StaticText控件类对象,这是一个文本标签类self.userLabel=wx.StaticText(self.panel,label="用户名:",pos=(50,50))self.userText=wx.TextCtrl(self.panel,pos=(100,50),size=(235,25),style=wx.TE_LEFT)#定义一个wx.TextCtrl控件对象,这是一个文本输入框,其中,pos代表位置,size代表大小,style代表是文本框的风格self.passLabel=wx.StaticText(self.panel,label="密 码:",pos=(50,90))self.passText=wx.TextCtrl(self.panel,pos=(100,90),size=(235,25),style=wx.TE_PASSWORD)self.btnOK=wx.Button(self.panel,label="确 定",pos=(105,130))#定义了按钮类wx.Button的对象self.btnCancel=wx.Button(self.panel,label="取 消",pos=(195,130))if __name__ == "__main__" :app=wx.App()#定义一个wx.App类的对象appmainFrame=MainFrame()mainFrame.Show()app.MainLoop()

编写按钮点击事件处理程序
import wx#导入wxPython包class MainFrame(wx.Frame):#定义MainFrame类(代表程序的主窗体),它是wx.Frame类的子类def __init__(self):#主窗体的构造方法super().__init__(parent=None,id=-1,title="程序主窗体",size=(400,300))#调用wx.Frame类的构造方法来创建程序主窗体self.panel=wx.Panel(parent=self)#定义了panel对象,他是个wx.Panel类对象,代表一个面板self.title=wx.StaticText(parent=self.panel,label="请输入用户名和密码",pos=(140,20))#定义一个wx.StaticText控件类对象,这是一个文本标签类self.userLabel=wx.StaticText(self.panel,label="用户名:",pos=(50,50))self.userText=wx.TextCtrl(self.panel,pos=(100,50),size=(235,25),style=wx.TE_LEFT)#定义一个wx.TextCtrl控件对象,这是一个文本输入框,其中,pos代表位置,size代表大小,style代表是文本框的风格self.passLabel=wx.StaticText(self.panel,label="密 码:",pos=(50,90))self.passText=wx.TextCtrl(self.panel,pos=(100,90),size=(235,25),style=wx.TE_PASSWORD)self.btnOK=wx.Button(self.panel,label="确 定",pos=(105,130))#定义了按钮类wx.Button的对象self.btnCancel=wx.Button(self.panel,label="取 消",pos=(195,130))self.Bind(wx.EVT_BUTTON,self.OnClickOK,self.btnOK)#绑定btnOK的按钮点击事件的事件事件处理方法是OnClickOKself.Bind(wx.EVT_BUTTON,self.OnClickCancel,self.btnCancel)def OnClickOK(self,event):#定义MainFrame类的方法OnClickOK,用来进行btnOk(“确定”)被点击之后事件处理user="Tom"passwd="123456"#这是要验证的用户名和密码userName=self.userText.GetValue()#从userText中取出输入的用户名,使用TextCtrl对象的GetValue()方法取出输入的内容userPass=self.passText.GetValue()#从passText中取出输入的密码message = ""if userName == "" or userPass == "":message = "用户名或密码不能为空"elif userName == user and userPass == passwd :message = "登录成功"else:message = "用户名或者密码不匹配"wx.MessageBox(message,"登录提示")#创建一个MessageBox对象,显示提示信息def OnClickCancel(self,event):#OnClickCancel定义Cancel按钮点击后的事件处理程序self.userText.SetValue("")#将userText文本框清空self.passText.SetValue("")if __name__ == "__main__" :app=wx.App()#定义一个wx.App类的对象appmainFrame=MainFrame()mainFrame.Show()app.MainLoop()#启动app的事件循环,等待捕获用户在GUI界面上的操作(即控件事件),然后进入事件响应程序,执行事件响应程序#执行完成以后,回到事件循环。直至捕获到退出事件发生,才结束应用程序。
import wxclass MyFrame(wx.Frame):def __init__(self):super().__init__(parent=None,id=-1,title="测试",size=(300,300))self.panel=wx.Panel(parent=self)self.btn=wx.Button(parent=self.panel,label="请点击",size=(100,25),pos=(100,100))self.Bind(wx.EVT_BUTTON,self.OnClick,self.btn)def OnClick(self,event):wx.MessageBox("按钮被点击!","提示")if __name__=="__main__":app=wx.App()myFrame=MyFrame()myFrame.Show()app.MainLoop()

