python - 按钮不加起来
问题描述
def login_button():
wrong_value_count = 0
username = username_entry.get()
password = password_entry.get()
if username == user1_username and password == user1_password:
redirecting_text = canvas.create_text(40, 90, text="Credentials Match, Please Wait While "
"We Redirect You To Your Vault", fill="red", anchor=NW)
canvas.after(2500, lambda: delete_text(redirecting_text))
print("ESHTA")
elif username == user2_username and password == user2_password:
redirecting_text2 = canvas.create_text(40, 90, text="Credentials Match, Please Wait While "
"We Redirect You To Your Vault", fill="red", anchor=NW)
canvas.after(2500, lambda: delete_text3(redirecting_text2))
print("ESHTA")
else:
wrong_value_count += 1
if wrong_value_count <= 3:
print("NOT ESHTA")
wrong_credentials_text = canvas.create_text(40, 90, text="Wrong Credentials, Try again",
fill="red", anchor=NW)
canvas.after(2500, lambda: delete_text2(wrong_credentials_text))
elif wrong_value_count > 3:
lock_text = canvas.create_text(40, 90, text="Sorry, You've Reached the Max Number of Trials"
" Please Try Again Later", fill="red", anchor=NW)
canvas.after(2500, lambda: delete_text4(lock_text))
print(wrong_value_count)
好的,所以我尝试添加错误的值计数,但是每次单击按钮时,它都显示它仍然是 1。如何让它加起来直到达到所写的 3?
解决方案
wrong_value_count
必须在按钮之外,因为当login_button
被调用时它会将计数重置为 0,这是您不想要的。
wrong_value_count = 0
def login_button():
global wrong_value_count
username = username_entry.get()
password = password_entry.get()
if username == user1_username and password == user1_password:
redirecting_text = canvas.create_text(40, 90, text="Credentials Match, Please Wait While "
"We Redirect You To Your Vault", fill="red", anchor=NW)
canvas.after(2500, lambda: delete_text(redirecting_text))
print("ESHTA")
elif username == user2_username and password == user2_password:
redirecting_text2 = canvas.create_text(40, 90, text="Credentials Match, Please Wait While "
"We Redirect You To Your Vault", fill="red", anchor=NW)
canvas.after(2500, lambda: delete_text3(redirecting_text2))
print("ESHTA")
else:
wrong_value_count += 1
if wrong_value_count <= 3:
print("NOT ESHTA")
wrong_credentials_text = canvas.create_text(40, 90, text="Wrong Credentials, Try again",
fill="red", anchor=NW)
canvas.after(2500, lambda: delete_text2(wrong_credentials_text))
elif wrong_value_count > 3:
lock_text = canvas.create_text(40, 90, text="Sorry, You've Reached the Max Number of Trials"
" Please Try Again Later", fill="red", anchor=NW)
canvas.after(2500, lambda: delete_text4(lock_text))
print(wrong_value_count)
推荐阅读
- c - 免费调用时出现分段错误
- java - 如何在 Windows 上向 HID 打印机发送数据(>64 字节)
- c++ - 如何在 C++ 头文件中获取所有命名空间/类/方法头?
- apache-kafka - Kafka Log compaction也是去重机制吗
- java - 在 JTable 列 Java Swing 中设置右对齐
- python - Pandas,根据公共列数据消除3个数据框之间的差异
- spring - 如何将参数作为环境变量传递
- javascript - 如果文本为“13”,如何使输入自动提交到 URL
- android - 如何制作没有背景颜色的 MediaStyle 通知?
- python - 获取数量和单位