【发布时间】:2017-06-26 18:10:28
【问题描述】:
我试图弄清楚为什么我不能将一个变量从一个小部件条目传递给一个变量,该变量意味着一个对象类中的用户名。
正如所写,它会引发以下错误:TypeError: enter() missing 1 required positional argument: 'self'
class User:
'a class to define users'
def __init__(self, username, goal, contra, gender, weight):
self.username = username
self.goal = goal
self.contra = contra
self.gender = gender
self.weight = weight
'Adds date and current weight to an array to track progress'
#def weighIn[date, weight]:
def setUser(self, username):
self.username = string
def enter(self):
global e1
global string
string = e1.get()
setUser()
namescreen = Tk.Tk()
namescreen.title("Current Exercise")
var = StringVar()
label = Label( namescreen, textvariable=var)
var.set("Hi! What is your name?")
label.pack()
usr = StringVar()
e1 = Entry(namescreen, textvariable=usr)
e1.pack()
b1 = tkinter.Button(namescreen, text ="Enter", command =enter)
b1.pack()
namescreen.bind('<Return>', enter)
namescreen.mainloop()
我也尝试添加 newUser = User.init(self, "Default"...) 它告诉我 self 没有定义。我不确定我做错了什么。
【问题讨论】:
-
看起来像一个缩进错误,这使得
enter成为一个函数,而不是你对象的一个方法。 -
@Thomas 我的回答对你有用吗?
标签: python class constructor