吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1730|回复: 12
收起左侧

[已解决] Python错误提示,弄不明白应该如何改正。

  [复制链接]
风子是我 发表于 2020-11-29 22:34
本帖最后由 风子是我 于 2020-11-29 23:04 编辑

我初学Python,用了论坛的wxPython可视化设计器做了个界面,想实现如下图的功能,点“确定”时的功能已经好了,点“取消”时不会。
运行界面应该如下:(下面是我把按钮“取消”注释掉后的界面)

启动界面.jpg

不注释掉第二个按钮,出现如下提示:

错误提示.png
代码如下:
[Python] 纯文本查看 复制代码
# -*- coding:utf-8 -*-
import wx

class Frame(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self, None, title='用户登录', size=(400, 300),name='frame',style=541072960)
        self.qdck = wx.Panel(self)
        self.Centre()
        self.an1 = wx.Button(self.qdck,size=(89, 32),pos=(90, 155),label='确定',name='button')
        self.an1.Bind(wx.EVT_BUTTON,self.an1_anbdj)
        self.bq1 = wx.StaticText(self.qdck,size=(195, 22),pos=(85, 16),label='请输入用户名和密码',name='staticText',style=2321)
        self.bq2 = wx.StaticText(self.qdck,size=(90, 26),pos=(25, 57),label='用户名:',name='staticText',style=2321)
        self.bq3 = wx.StaticText(self.qdck,size=(80, 24),pos=(33, 93),label='密    码:',name='staticText',style=2321)
        self.bjk1 = wx.TextCtrl(self.qdck,size=(157, 25),pos=(114, 51),value='',name='text',style=0)
        self.bjk2 = wx.TextCtrl(self.qdck,size=(157, 25),pos=(112, 88),value='',name='text',style=0)
        self.an2 = wx.Button(self.qdck,size=(89, 32),pos=(186, 154),label='取消',name='button')
        self.an2.Bind(wx.EVT_BUTTON,self.an2_anbdj)


    def an1_anbdj(self,event):
        """ 点击确定按钮,执行方法 """
        message = ""
        username = self.bjk1.GetValue()     # 获取输入的用户名
        password = self.bjk2.GetValue() # 获取输入的密码
        if username == "" or password == "" :    # 判断用户名或密码是否为空
            message = '用户名或密码不能为空'
        elif username =='admin' and password =='123': # 用户名和密码正确 
            message = '登录成功'
        else:
            message = '用户名和密码不匹配'            # 用户名或密码错误   
        wx.MessageBox(message)                        # 弹出提示框  


    def an2_anbdj(self,event):
         """ 点击取消按钮,执行方法 """
        self.bjk1.SetValue("") # 清空输入的用户名
        self.bjk2.SetValue("") # 清空输入的密码

class myApp(wx.App):
    def  OnInit(self):
        self.frame = Frame()
        self.frame.Show(True)
        return True

if __name__ == '__main__':
    app = myApp()
    app.MainLoop()


免费评分

参与人数 2吾爱币 +1 热心值 +2 收起 理由
duanmuchangshen + 1 我很赞同!
Lucifer_BW + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

菜菜同学 发表于 2020-11-29 22:50
没看懂啥意思                    
塞北的雪 发表于 2020-11-29 22:57
[Python] 纯文本查看 复制代码
# -*- coding:utf-8 -*-
import wx

class Frame(wx.Frame):
	def __init__(self):
	        wx.Frame.__init__(self, None, title='用户登录', size=(400, 300),name='frame',style=541072960)
	        self.qdck = wx.Panel(self)
	        self.Centre()
	        self.an1 = wx.Button(self.qdck,size=(89, 32),pos=(90, 155),label='确定',name='button')
	        self.an1.Bind(wx.EVT_BUTTON,self.an1_anbdj)
	        self.bq1 = wx.StaticText(self.qdck,size=(195, 22),pos=(85, 16),label='请输入用户名和密码',name='staticText',style=2321)
	        self.bq2 = wx.StaticText(self.qdck,size=(90, 26),pos=(25, 57),label='用户名:',name='staticText',style=2321)
	        self.bq3 = wx.StaticText(self.qdck,size=(80, 24),pos=(33, 93),label='密    码:',name='staticText',style=2321)
	        self.bjk1 = wx.TextCtrl(self.qdck,size=(157, 25),pos=(114, 51),value='',name='text',style=0)
	        self.bjk2 = wx.TextCtrl(self.qdck,size=(157, 25),pos=(112, 88),value='',name='text',style=0)
	        self.an2 = wx.Button(self.qdck,size=(89, 32),pos=(186, 154),label='取消',name='button')
	        self.an2.Bind(wx.EVT_BUTTON,self.an2_anbdj)


	def an1_anbdj(self,event):
		""" 点击确定按钮,执行方法 """
		message = ""
		username = self.bjk1.GetValue()    #获取输入的用户名
		password = self.bjk2.GetValue()    #获取输入的密码
		if username == "" or password == "" :    #判断用户名或密码是否为空
			message = '用户名或密码不能为空'
		elif username =='admin' and password =='123': #用户名和密码正确
			message = '登录成功'
		else:
			message = '用户名和密码不匹配'            #用户名或密码错误
		wx.MessageBox(message)                        #弹出提示框


	def an2_anbdj(self,event):
		""" 点击取消按钮,执行方法 """
		self.bjk1.SetValue("") # 清空输入的用户名
		self.bjk2.SetValue("") # 清空输入的密码

class myApp(wx.App):
	def  OnInit(self):
		self.frame = Frame()
		self.frame.Show(True)
		return True

if __name__ == '__main__':
	app = myApp()
	app.MainLoop()


还是用TAB进行缩进吧,空格的问题

免费评分

参与人数 1吾爱币 +1 收起 理由
领悟者的涂鸦笔 + 1 我很赞同!

查看全部评分

 楼主| 风子是我 发表于 2020-11-29 23:01
塞北的雪 发表于 2020-11-29 22:57
[mw_shl_code=python,true]# -*- coding:utf-8 -*-
import wx

奇怪,我是用的Tab缩进,看上去你的代码与我的一样,你的可以运行,我的就出错
这个缩进看上去也没啥不同啊。
谢谢
 楼主| 风子是我 发表于 2020-11-29 23:04
本帖最后由 风子是我 于 2020-11-29 23:05 编辑

明白了,原来是注释语句的问题,注释语句的缩进也有要求啊?
受教了,谢谢@塞北的雪
冰水混合物 发表于 2020-11-30 00:06
啊,不说注释我还真没想带那里去,受教了
sz090955 发表于 2020-11-30 01:37
unindent一般都是缩进错了的问题
tsecond 发表于 2020-11-30 03:45
看看你的源代码 有些代码没有正确对齐  空格和制表符混用的。少空格的 自己检查一下!
seeyou_shj 发表于 2020-11-30 08:45
风子是我 发表于 2020-11-29 23:04
明白了,原来是注释语句的问题,注释语句的缩进也有要求啊?
受教了,谢谢@塞北的雪

注释不要用
"""这里是注释“”“
这种模式。这种的实际上是长字符串的定义,不是严格意义上的注释。python认为这是一条语句,所以才会出错。
c00144 发表于 2020-11-30 09:05
学习学习
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 11:43

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表