【发布时间】:2017-05-20 04:42:20
【问题描述】:
具体错误是:
_getandcreate() 缺少 5 个必需的位置参数:“_get_userpass”、“_createuser”、“t”、“用户名”和“密码”
有问题的子程序:
def create_regwindow(self):
t = tk.Toplevel(self)
t.wm_title("Register")
t.entry_user = tk.Entry(t)
t.entry_pass = tk.Entry(t, show="*")
t.title = tk.Label(t, text="Enter your new username and password below")
t.field_user = tk.Label(t, text="Username")
t.field_pass = tk.Label(t, text="Password")
t.regbutton = tk.Button(t, text="Create Account", command=self._getandcreate) <-- HERE
t.title.grid(row=0, sticky=tk.E)
t.title.grid(row=0, column=1)
t.field_user.grid(row=1, sticky=tk.E)
t.field_pass.grid(row=2, sticky=tk.E)
t.entry_user.grid(row=1, column=1)
t.entry_pass.grid(row=2, column=1)
t.regbutton.grid(row=3, column=1)
这里是实际的子程序:
def _getandcreate(self, _get_userpass, _createuser, t, username, password):
_get_userpass(t)
_createuser(username, password)
我需要将它们变量传递到第一个代码块(标记为 HERE)中的命令中,但是,当我这样做时,我需要将这些变量放入我的代码的一部分中(在 init,整个代码在底部) - 导致它们没有被定义的问题。
我有点困惑。目的是,当用户点击“创建帐户”时,用户输入的数据被获取并添加到我的数据库中。
【问题讨论】: