如何使用刷新按钮在python中完全刷新tkinter窗口

时间:2015-05-28 12:53:36

标签: python-2.7 tkinter

如何使用刷新按钮在python中完全刷新Tkinter窗口。

2 个答案:

答案 0 :(得分: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(...)

尽管如此,关于子类化Frame并没有什么神奇之处。你只需要一个创建框架并在其中放置一堆小部件的函数。当您想要刷新时,只需删除框架并再次调用您的功能。使用类更方便,但类并不是绝对必要的。

答案 1 :(得分:0)

如果遇到任何错误,请尝试使用这些代码NAAMN068@GMAIL.COM

import tkinter as tk
import os
r = tk.Tk()
r.title("refresh button")
def refresh():
    r.destroy()
    os.popen("refresh.py") #change refresh.py according to yours program name
button_1 = tk.Button(r,text = "Refresh",command = refresh)
button_1.pack()
def exit():
    r.destroy()
button_2 = tk.Button(r,text = "Exit",command = exit)
button_2.pack()
r.mainloop()