GUI(图形用户界面)
对于pyThon的GUI开发,有很多的工具包,wxPython是其中的一个工具包,特点:wxpython是一个成熟且特性丰富的跨平台GUI工具包
打开cmd
输入pip install -U wxPython(我安装输入这个的时候没有成功)
也可以直接输入 pip install wxPython
1.代码实现
import wx #导入wxpython #wx.Frame是所有的框架的父类,当创建字类的时候应该应该要调用父类的构造器wx.Frame.__init__() class MyFrame(wx.Frame): '''parent:框架的父窗口,如果是顶级窗口那么值为None id:当值为-1时,让wxpython自动生成一个id号 title:里面的内容为窗口的标题 size:为窗口的大小,前面一位为长度,后面因为为宽度 ''' def __init__(self,parent,id): wx.Frame.__init__(self,parent,id,title='登录页面',size=(400,300)) if __name__=='__main__': app=wx.App()#创建一个wx.App实例 frame=MyFrame(parent=None,id=-1)#实列化MyFrame frame.Show()#显示窗口 app.MainLoop()#这个方法将程序的控制权转交给wxPython
2.执行结果
3.创建画板
panel=wx.Panel(self)
执行结果
1.代码实现
import wx #导入wxpython #wx.Frame是所有的框架的父类,当创建字类的时候应该应该要调用父类的构造器wx.Frame.__init__() class MyFrame(wx.Frame): '''parent:框架的父窗口,如果是顶级窗口那么值为None id:当值为-1时,让wxpython自动生成一个id号 title:里面的内容为窗口的标题 size:为窗口的大小,前面一位为长度,后面因为为宽度 ''' def __init__(self,parent,id): wx.Frame.__init__(self,parent,id,title='登录页面',size=(400,300)) panel=wx.Panel(self) #当使用文本的时候使用StaticText(),pos是距离左上角的长度,一般等于一个元组 title=wx.StaticText(panel,label='用户名和密码',pos=(130,10)) #设置文本的字体 font=wx.Font(16,wx.DEFAULT,wx.FONTSTYLE_NORMAL,wx.NORMAL,faceName='楷体') #把标题的字设置为上面的字体 title.SetFont(font) self.user_label=wx.StaticText(panel,label='用户名',pos=(50,50),size=(50,20)) #当需要输入框时,需要用TextCtrl,style是设置输入的字体为什么格式,例如wx,TE_LEFT:输入的字体靠左 self.text_label=wx.TextCtrl(panel,pos=(100,50),size=(190,20),style=wx.TE_LEFT) self.user_password=wx.StaticText(panel,label='密 码',pos=(50,100),size=(50,20)) #wx.TE_PASSWORD:不显示输入的字体 self.password=wx.TextCtrl(panel,pos=(100,100),size=(190,20),style=wx.TE_PASSWORD) #当设置按钮时用Button方法 button1=wx.Button(panel,label='取消',pos=(120,160),size=(50,30)) #当按下这个按钮时将会做出相应的反应,这里是调用 OnclickCancel()函数 button1.Bind(wx.EVT_BUTTON,self.OnclickCancel) button2=wx.Button(panel,label='确认',pos=(200,160),size=(50,30)) button2.Bind(wx.EVT_BUTTON,self.OnclickSubmit) def OnclickSubmit(self,event): message='' username=self.text_label.GetValue() password=self.password.GetValue() if username=='' or password=='': message='用户名和密码不能为空' elif username=='mr' and password=='mrsoft': message='登录成功' else: message='用户名和密码不匹配' wx.MessageBox(message)#弹出提示框 def OnclickCancel(self,event): self.text_label.SetValue('') self.password.SetValue('') if __name__=='__main__': app=wx.App()#创建一个wx.App实例 frame=MyFrame(parent=None,id=-1)#实列化MyFrame frame.Show()#显示窗口 app.MainLoop()#这个方法将程序的控制权转交给wxPython
2.执行结果
当输入用户名为mr,密码为mrsoft时,提示框会弹出登录成功
当有一个有一个框为空时,会弹出用户名和密码不能为空
***就到这啦