-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 –