wxPython框架的使用(登录页面)
作者:互联网
GUI(图形用户界面)
对于pyThon的GUI开发,有很多的工具包,wxPython是其中的一个工具包,特点:wxpython是一个成熟且特性丰富的跨平台GUI工具包
wxPython
一.wxPython的安装
打开cmd
输入pip install -U wxPython(我安装输入这个的时候没有成功)
也可以直接输入 pip install wxPython
二.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时,提示框会弹出登录成功
当有一个有一个框为空时,会弹出用户名和密码不能为空
***就到这啦
标签:__,登录,self,size,wxPython,页面,id,wx 来源: https://blog.csdn.net/weixin_46880949/article/details/119897156