[英]Attribute Error: 'str' object has no attribute 'tk'
I'm beginning to develop a login/register system in Python with Tkinter. 我开始使用Tkinter在Python中开发一个登录/注册系统。 I have got to the point where I'm trying to make the register button then open a registration top level window.
我已经到达要尝试注册按钮的位置,然后打开注册顶层窗口。 However when I click on the Register button just a blank window opens and python returns an error.
但是,当我单击“注册”按钮时,只会打开一个空白窗口,并且python返回错误。
def register():
register = Tk()
register_screen = Toplevel
register_screen.title("Register")
register_screen.geometry("300x250")
username = StringVar()
password = StringVar()
username_label = Label(register_screen, text="Username")
username_label.pack()
username_entry = Entry(register_screen, textvariable=username)
username_entry.pack()
password_label = Label(register_screen, text="Password")
password_label.pack()
password_entry = Entry(register_screen, textvariable=password, show='*')
password_entry.pack()
Label(register_screen, text="").pack()
Button(register_screen, text="Register", width=10, height=1).pack()
Expected Result: Registration window to open with entry boxes 预期结果:注册窗口将打开,并带有输入框
Actual Result: Blank window with the following error code in Python: 实际结果:在Python中出现以下错误代码的空白窗口:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\Theo\AppData\Local\Programs\Python\Python36\lib\tkinter\__init__.py", line 1702, in __call__
return self.func(*args)
File "C:/Users/Theo/Desktop/Calorie Counter/caloriecounter.py", line 14, in register
register_screen.title("Register")
File "C:\Users\Theo\AppData\Local\Programs\Python\Python36\lib\tkinter\__init__.py", line 1982, in wm_title
return self.tk.call('wm', 'title', self._w, string)
AttributeError: 'str' object has no attribute 'tk'
Your blank screen is the register window which I don't believe you need, but you need to make Toplevel() an object call. 您的空白屏幕是注册窗口,我认为您不需要,但您需要使Toplevel()成为对象调用。
def register():
register_screen = Toplevel()
register_screen.title("Register")
register_screen.geometry("300x250")
username = StringVar()
password = StringVar()
username_label = Label(register_screen, text="Username")
username_label.pack()
username_entry = Entry(register_screen, textvariable=username)
username_entry.pack()
password_label = Label(register_screen, text="Password")
password_label.pack()
password_entry = Entry(register_screen, textvariable=password, show='*')
password_entry.pack()
Label(register_screen, text="").pack()
Button(register_screen, text="Register", width=10, height=1).pack()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.