-2
A
回答
0
你可以使用一个简单的递归循环列出您的主窗口中的所有子wigets:
def all_children (window) :
_list = window.winfo_children()
for item in _list :
if item.winfo_children() :
_list.extend(item.winfo_children())
return _list
然后,只需使用此列表:
widget_list = all_children(window)
for item in widget_list:
item.pack_forget()
+0
谢谢!问题解决完美。 –
+0
不要忘记接受这是一个正确的答案,如果它解决了你的问题! – TmZn
1
你需要做的是建立一个什么框架到您的主窗口,并将所有要清除的内容放在该框架内的某个点。那么你只需做frame_name.destroy()
下面的例子有一个按钮,它创建一个包含多个标签小部件和一个按钮的框架。
该按钮调用一个方法,将摧毁框架及其中的所有内容。
然后你可以用第一个按钮重新创建框架。
让我知道如果您有任何问题:
import tkinter as tk
class ExampleApp(tk.Frame):
def __init__(self, master):
tk.Frame.__init__(self, master)
self.master = master
self.some_frame = None
tk.Button(self.master, text="Create new frame with widgets!", command = self.create_stuff).pack()
def create_stuff(self):
if self.some_frame == None:
self.some_frame = tk.Frame(self.master)
self.some_frame.pack()
for i in range(5):
tk.Label(self.some_frame, text = "This is label {}!".format(i+1)).pack()
tk.Button(self.some_frame, text="Destroy all widgets in this frame!",
command= self.destroy_some_frame).pack()
def destroy_some_frame(self):
self.some_frame.destroy()
self.some_frame = None
root = tk.Tk()
my_example = ExampleApp(root)
root.mainloop()
相关问题
- 1. 如何清除父窗口小部件中的所有窗口小部件?
- 2. 有没有办法一次清除所有JavaScript定时器?
- 3. 有没有办法将除了一个之外的所有窗口最小化?
- 4. 有没有办法让一个窗口的所有BindingExpression对象?
- 5. 有没有办法一次性清理特定形式的所有字段?
- 6. 码头不起作用:有没有办法清除它?
- 7. 有没有办法枚举所有的属性,并逐一释放它们?
- 8. 清除Tkinter中的画布而不删除所有东西
- 9. 有没有办法清除我所有的TFS挂起更改?
- 10. 有没有办法编辑一个符号链接而不先删除它?
- 11. 有没有办法清除所有会话中的一些会话数据?
- 12. 有没有办法清除所有超时?
- 13. 有没有办法清除AS3/AIR
- 14. 有没有办法刷新JavaScript中的窗口属性?
- 15. 有没有办法在Ghost.py中设置窗口大小?
- 16. 有没有办法删除所有会话/清除同一个itme中的所有身份?
- 17. 有没有办法同步Silverlight的子窗口(使它像MessageBox)?
- 18. Tkinter没有创建窗口?
- 19. 有没有办法清除控制台的某个部分?
- 20. 清除NAnt中的所有子目录但不删除它们
- 21. 有没有办法通过委托直接调用属性setter?
- 22. 有没有办法保证接口的所有属性都被解决了
- 23. 有没有办法只回声一次,而不是重复?
- 24. 清除wpf窗口中的所有用户控件
- 25. 有没有办法获得铬的文档和窗口属性
- 26. 有没有办法在Spring Security插件的属性文件中定义角色,而不是硬编码它们?
- 27. Qt插件:有没有办法列出插件实现的所有接口?
- 28. 有没有办法以编程方式最小化窗口
- 29. 有没有办法清除所有用户的会话缓存键?
- 30. 可可:有没有办法一次删除几个文件?
你是什么意思'不使用pack_forget.'? – xmcp
把它们放在一个单独的框架中,根据需要添加/删除框架? – chepner
https://stackoverflow.com/q/15995783/7432 –