python - 警报框问题总是返回响应 == 0
问题描述
尝试遵循关于 tkinter 的教程(https://www.datacamp.com/community/tutorials/gui-tkinter-python),我刚刚进入关于响应和消息框的部分。当我尝试运行代码时,如果我在末尾包含 .pack(),我会得到 AttributeError: 'str' object has no attribute 'pack',和/或它会显示“立即注销”。无论我点击是或否。
尝试将响应 == 1 更改为响应 == 0,仍然会发生。我已按照我能找到的教程中的说明进行操作。
import tkinter, time, random
import tkinter.messagebox
window = tkinter.Tk()
window.title("GUI")
response = tkinter.messagebox.askquestion("Simple Question", "Do you love Python?")
if response == 1:
tkinter.messagebox.showinfo("Alert Message", "Good person")
else:
tkinter.messagebox.showinfo("Alert Message", "Log out now")
window.mainloop()
我希望输出取决于我选择的答案,但实际输出始终是“立即退出”
解决方案
tkinter.messagebox.askquestion
返回"yes"
或"no"
。
因此,您必须使用以下字符串更改代码:
if response == "yes":
推荐阅读
- bash - terraform init 在 gitlab 管道中失败
- python-3.x - 将用户文件转换为 .exe,现在我不知道如何将其还原
- python - 将 matplotlib.pyplot 导入为 plt - 给出错误 - ModuleNotFoundError: No module named 'matplotlib.pyplot'
- php - 如何在前端使用循环将循环中勾选的每个复选框存储到玩家数组中
- python - 使用另一个数组作为参考更改 numpy 数组的值而不使用循环
- javascript - 隐藏不和谐机器人消息上的链接
- ssh - 您可以使用带有多个 TTY 的 screen(1) 来进行低带宽控制台共享吗?
- javascript - “srcWnd 未定义” - TamperMonkey
- c# - 以数字为键反序列化 JSON
- flutter - Flutter Firestore 返回 Future
- > 返回空