我试着用tkinter做一个按钮,当按下这个按钮时,它会删除屏幕上的所有按钮,然后当我调用原始按钮的函数时,它会使它们重新出现。这是我的意图,但我不能使它发挥作用。你知道吗
class login_screen:
def __init__(self, master):
self.master = master
def menu_buttons():
self.login_button = Button(master,
text="Login",
command=self.login,
relief=RIDGE,
height=2,
width=7,
bg="#ffb380")
self.register_button = Button(master,
text="Register",
command=self.register,
relief=RIDGE,
height=2,
width=7,
bg="#ffb380")
self.login_button.place(x=95, y=90)
self.register_button.place(x=95, y=155)
menu_buttons()
def clear(self):
self.login_button.destroy()
self.register_button.destroy()
def login(self):
self.clear()
menu_buttons()
错误:
NameError: name 'menu_buttons' is not defined
当我按下“登录”按钮时,它会清除所有内容,然后再次显示相同的按钮。目前它只会消失,但不会再出现。你知道吗
你应该使用菜单按钮方法 然后将自变量传递给菜单按钮
目前,菜单按钮只能由init方法访问,其他方法无法访问。你知道吗
不需要完全销毁按钮,因此不需要尝试在init中重新创建它们,因为它们仍然存在但不可见。你知道吗
如果您试图重用
menu_buttons
,请不要在__init__
中定义它,因为函数将在__init__
完成后立即消失,因此您将无法再次调用它:相关问题 更多 >
编程相关推荐