gpt4 book ai didi

python - 为什么我收到错误 : "NameError: global name ' pupiluserinputbox' is not defined"

转载 作者:太空宇宙 更新时间:2023-11-03 18:31:12 25 4
gpt4 key购买 nike

def pupiluserpass():
global usernames, passwords
usernameinp = pupiluserinputbox.get()
passwordinp = pupilpasswordinputbox.get()

为什么我会收到错误:NameError: 全局名称 'pupiluserinputbox' 未定义?

输入框在另一个程序中:

def pupillogin():
ruapupil = Label(app, text = "If you're a pupil log in here:")
ruapupil.grid(row = 1, columnspan = 3, sticky = W)

pupilusername = Label(app, text = "Please enter your Username:")
pupilusername.grid(row = 2, column = 0, sticky = W)
pupiluserinputbox = Entry(app, width = 10)
pupiluserinputbox.grid(row = 2, column = 1, sticky = W)

pupilpassword = Label(app, text = "Please enter your Password:")
pupilpassword.grid(row = 3, column = 0, sticky = W)
pupilpasswordinputbox = Entry(app, width = 10)
pupilpasswordinputbox.grid(row = 3, column = 1, sticky = W)

pupilenter = Button(app, text = "Enter!", command = pupiluserpass)
pupilenter.config(height = 1, width = 8)
pupilenter.grid(row = 4, column = 1, sticky = W)

如何才能成功完成这项工作而不出现 NameError

最佳答案

对于,您应该将携带这些错误属性的变量设置为self,即该对象的当前实例。这是在内的其他方法中访问这些变量的实际方法。例如:

def pupiluserpass():
...
usernameinp = self.pupiluserinbox.get()
passwordinp = self.pupilpasswordinputbox.get()

def pupillogin():
...
self.pupiluserinputbox = Entry(app, width = 10)
self.pupiluserinputbox.grid(row = 2, column = 1, sticky = W)
...
self.pupilpasswordinputbox = Entry(app, width = 10)
self.pupilpasswordinputbox.grid(row = 3, column = 1, sticky = W)

您也可以在此处进行大量 global 声明,但最好使用 self

关于python - 为什么我收到错误 : "NameError: global name ' pupiluserinputbox' is not defined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22355401/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com