Wxpython移动操作焦点(类似实现Tab效果)

今天在做项目的时候,遇到一个问题

问题描述

在这里插入图片描述
因为之前在密码输入栏做了一个回车实现登录的功能,导致出现了一个小问题,在提示弹窗出现的时候按回车(相当于按了YES)这时候操作焦点还在密码输入栏,就会无限出现错误提示弹窗,只有鼠标点击YES才能正常关闭弹窗。

解决方法

于是尝试在出现弹窗的时候移动操作焦点,类似于在旁边点一下鼠标,最后这个方法只能实现把焦点移动到下一个(也就是用户名输入栏),不过也解决了这个问题。
实现十分简单,只需在调用弹窗代码附近加一行event.EventObject.Navigate(),操作焦点便会移动到用户名输入栏,用户名输入栏是没有绑定登录事件的,因此解决了这个问题。不过应该还有更好的办法实现此需求,日后学习到再来补充,也欢迎大家指正。

    def LoginButton(self, event):
        # 连接login_users数据库
        op = Sql_operation("login_users")
        # 获取users表中的用户名和密码信息,返回为二维元组
        np = op.FindAll("users")
        print(np)
        # 匹配标记
        login_sign = 0
        # 匹配用户名和密码
        for i in np:
            if (i[1] == self.user_name.GetValue()) and (i[2] == self.user_password.GetValue()):
                login_sign = 1
                break
        if login_sign == 0:
            print("用户名或密码错误!")
            event.EventObject.Navigate()
            # event.Skip()
            self.show_message(word="密码错误")
            

        elif login_sign == 1:
            print("登录成功!")
            operation = UserOperation(None, title="学生信息管理系统", size=(1024, 668))
            operation.Show()
            self.Close(True)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值