python的GUI之一个简单的登录界面

1 篇文章 0 订阅

self代表这个类,所以要注意self的用法

先总结一下遇到的错误:

 

python positional argument follows keyword argument

位置参数在关键字参数之后

部分语句的关键字参数必须跟随在位置参数后面

因为python函数在解析参数时, 是按照顺序来的,位置参数不满足就没办法考虑其他的参数。

 

一个简单的python GUi程序运行时,报出错误 : PyNoAppError: The wx.App object must be created first!

要么把程序在python的cmd窗口运行,不然spyder会报错。

要么在spyder里的console输入del app,回车,再运行程序即可。

 

这个wxPython在导入时不用写这么多,import wx即可

import wx

class MyFrame(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self,None,title='welcome',pos=(500,500),size=(200,200))
        #增加面板
        self.panel=wx.Panel(self)
        #增加静态文本控件
        self.user=wx.StaticText(parent=self.panel,label='user',pos=(10,5),size=(80,20))
        self.password=wx.StaticText(parent=self.panel,label='password',pos=(10,30),size=(80,20))
        #添加文本框
        self.inputN=wx.TextCtrl(parent=self.panel,pos=(80,5),size=(80,20))
        self.inputM=wx.TextCtrl(parent=self.panel,pos=(80,30),size=(80,20))
        #添加按钮
        self.buttonLogin=wx.Button(parent=self.panel,label='login',pos=(30,70),size=(50,20))
        #为按钮绑定事件处理方法
        self.Bind(wx.EVT_BUTTON,self.login,self.buttonLogin)
        #添加按钮
        self.buttonCancel=wx.Button(pos=(90,70),size=(50,20),parent=self.panel,label='cancel')
        #为按钮绑定事件处理方法
        self.Bind(wx.EVT_BUTTON,self.cancel,self.buttonCancel)
        #第一个参数为事件类型,第二个参数为响应函数名,第三个参数为事件来源组件名(见上方按钮)
    def login(self,event):
        name=self.inputN.GetValue()
        pwd=self.inputM.GetValue()
        if name=='admin' and pwd=='123456':
            dlg=wx.MessageDialog(self,'注册成功','Caution',wx.OK)
            dlg.ShowModal()
        else:
            dlg=wx.MessageDialog(self,'注册失败','Caution',wx.OK)
            dlg.ShowModal()

    def cancel(self,event):
        self.inputM.SetValue('')
        self.inputN.SetValue('')
        
if  __name__=='__main__':
    app=wx.App()
    frm=MyFrame()
    frm.Show()
    app.MainLoop()
        

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值