Python 对于tkinter,如果使用place()方法,是否有办法隐藏大量小部件?

Python 对于tkinter,如果使用place()方法,是否有办法隐藏大量小部件?,python,user-interface,tkinter,Python,User Interface,Tkinter,我对菜单代码的一个特定部分有困难。我使用place()方法在主屏幕上更具体地放置按钮和小部件 有没有办法隐藏所有主菜单按钮和标签小部件?grid()方法似乎有一种非常直观的方法,可以使用grid\u-forget()或pack\u-forget()隐藏大量小部件。place_forget()在隐藏特定标签以外的内容时是否有任何变化 代码示例: ### Menu navigation to Training page def createTrainingPage(event): event

我对菜单代码的一个特定部分有困难。我使用place()方法在主屏幕上更具体地放置按钮和小部件

有没有办法隐藏所有主菜单按钮和标签小部件?grid()方法似乎有一种非常直观的方法,可以使用grid\u-forget()或pack\u-forget()隐藏大量小部件。place_forget()在隐藏特定标签以外的内容时是否有任何变化

代码示例:

### Menu navigation to Training page
def createTrainingPage(event):
    event.widget.place_forget()


#######################
### Widget Creation ###
#######################

### Buttons

TrainingButton = Button(text="Training", foreground="blue", font="bold")
TrainingButton.place(relx=0.07, rely=0.31, anchor=W)
TrainingButton.bind('<Button-1>', createTrainingPage)


    ### I want the createTrainingPage() method to 'erase' 
    ### the menu and create the next page. But it only erases the one
    ### widget the bind() function is attached to. Thoughts?


QuizzesButton = Button(text="Quizzes", foreground="blue", font="bold")
QuizzesButton.place(relx=0.07, rely=0.51, anchor=W)


TrainerButton = Button(text="Management", foreground="blue", font="bold")
TrainerButton.place(relx=0.038, rely=0.71, anchor=W)



### Labels

# Bell Bank img logo
LogoLabel = ttk.Label(image=renderedLogo)
LogoLabel.place(relx=0.025, rely=.1, anchor=W)


TrainingLabel = ttk.Label(prog, text="Training To-Do, Scheduling, etc.", foreground="blue", background="lightgray")
TrainingLabel.place(relx=0.3, rely=0.31, anchor=W)


QuizzesLabel = ttk.Label(prog, text="Quiz Scores, Performance, etc.", foreground="blue", background="lightgray")
QuizzesLabel.place(relx=0.3, rely=0.51, anchor=W)


TrainerLabel = ttk.Label(prog, text="Trainer Admin: Course, Roster and Training Mgmt", foreground="blue", background="lightgray")
TrainerLabel.place(relx=0.3, rely=0.71, anchor=W)
####菜单导航到培训页面
def createTrainingPage(事件):
event.widget.place_-forget()
#######################
###小部件创建###
#######################
###钮扣
TrainingButton=按钮(text=“Training”,front=“blue”,font=“bold”)
训练按钮位置(relx=0.07,REL=0.31,锚定=W)
TrainingButton.bind(“”,createTrainingPage)
###我希望createTrainingPage()方法“擦除”
###打开菜单并创建下一页。但它只会抹去一个
###bind()函数附加到的小部件。思想?
测验按钮=按钮(text=“测验”,front=“蓝色”,font=“粗体”)
测验按钮位置(relx=0.07,rely=0.51,anchor=W)
TrainerButton=按钮(text=“管理”,前台=“蓝色”,font=“粗体”)
列车按钮位置(relx=0.038,REL=0.71,锚定=W)
###标签
#贝尔银行img标志
logolable=ttk.Label(图像=renderedLogo)
LogoLabel.place(relx=0.025,rely=0.1,anchor=W)
TrainingLabel=ttk.Label(prog,text=“要做的培训、计划等”,前台=“蓝色”,后台=“浅灰色”)
培训标签放置(relx=0.3,REL=0.31,锚定=W)
QuizzesLabel=ttk.Label(prog,text=“测验分数、成绩等”,front=“blue”,background=“lightgray”)
测验标签位置(relx=0.3,rely=0.51,anchor=W)
TrainerLabel=ttk.标签(prog,text=“培训师管理员:课程、花名册和培训管理”,前台=“蓝色”,后台=“浅灰色”)
列车标签位置(relx=0.3,REL=0.71,锚=W)
place\u-forget()方法的工作原理几乎与
forget\u-pack()
forget\u-grid()
方法相同-它们都在小部件上操作,基本上“隐藏”了该小部件。使用哪一个取决于用于显示小部件的几何体管理器

因此,要隐藏某些菜单按钮(或任何一组按钮),可以执行以下操作:

菜单按钮=[…]#(一堆ttk或tkinter按钮)
对于菜单中的按钮_按钮:
按钮。放置_忘记()
阅读我很好奇“使用grid\u-forget()或pack\u-forget()隐藏大量小部件的真正直观方法是什么”。