2015-05-28 262 views

回答

2

最簡單的方法是將整個窗口作爲tk Frame的子類實現,然後銷燬並重新創建它。您的代碼可能如下所示:

import Tkinter as tk 

class Example(tk.Frame): 
    def __init__(self, parent): 
     tk.Frame.__init__(self, parent) 
     <other code here...> 

class Application: 
    def __init__(self): 
     self.root = tk.Tk() 
     self.frame = None 
     refreshButton = tk.Button(self.root, text="refresh", command=self.refresh) 
     self.refresh() 

    def refresh(self): 
     if self.frame is not None: 
      self.frame.destroy() 
     self.frame = Example(self.root) 
     self.frame.grid(...) 

雖然,子類化框架沒有任何真正的魔力。您只需要創建一個框架並在其中放置一些小部件的功能。當你想刷新時,只需刪除框架並再次調用你的功能。使用班級更方便一些,但班級並非絕對必要。