如何使用刷新按钮在python中完全刷新Tkinter窗口。
答案 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()