python - 错误:简单登录 GUI 的“分配函数调用的结果,其中函数没有返回”
问题描述
我正在尝试制作一个具有“双重身份验证”的简单登录 GUI。我在第 24 行遇到问题,出现错误“分配函数调用的结果,函数没有返回”
这是代码:
将 tkinter 导入为 tk
def test_my_button():
frame_auth.tkraise()
root = tk.Tk()
root.wm_geometry("200x200")
frame_login = tk.Frame(root)
frame_login.grid(row = 0, column = 0)
lbl_username = tk.Label(frame_login, text='Username:')
lbl_username.pack()
ent_username = tk.Entry(frame_login, bd=3)
ent_username.pack(pady=5)
lbl_password = tk.Label(frame_login, text="Password:")
lbl_password.pack()
ent_password = tk.Entry(frame_login, bd=3, show = "*")
ent_password.pack(pady=5)
###ERROR HERE###
btn_login = tk.Button(frame_login, text = "Login", command = test_my_button).pack()
frame_auth = tk.Frame(root)
frame_auth.grid(row = 0, column = 0)
frame_login.tkraise()
root.mainloop()
感谢所有帮助!
解决方案
这是一个 linter 警告,而不是错误。它告诉您它pack
不会返回任何内容,因此将其分配给变量是没有意义的。
分配后,您希望在pack
自己的线路上调用btn_login
:
btn_login = tk.Button(frame_login, text = "Login", command = test_my_button)
btn_login.pack()
推荐阅读
- cmake - 在 CMake (cmake-gui) 中使用 ComboBoxes 约束值
- android - 关闭 postDelayed 处理程序
- c - C 中 const 关键字的歧义
- java - 为什么我的 java 构建使用 Maven 失败?
- asp.net - Visual Studio 2019--HRESULT 0x80041fe4 异常
- javascript - 反应复选框放置方法
- php - 提高 Laravel 中多行插入的性能
- node.js - 云功能的执行时间是否会激增?
- reactjs - 在地图函数中添加一个if条件
- node.js - 使用异步将信息从 psql 传递到 ejs