Python Tkinker蟒蛇3帧更新

Python Tkinker蟒蛇3帧更新,python,python-3.x,tkinter,frame,Python,Python 3.x,Tkinter,Frame,我有我的Tkinker应用程序,我在其中创建了更多的帧,并根据我单击的内容显示一个或另一个,现在的问题是,我希望他们在每次我呼叫他们时刷新新信息;你知道我该怎么做吗? 这是我的代码: class HFlair(tk.Tk): def __init__(self, *args, **kwargs): tk.Tk.__init__(self, *args, **kwargs) container = tk.Frame(self) contai

我有我的Tkinker应用程序,我在其中创建了更多的帧,并根据我单击的内容显示一个或另一个,现在的问题是,我希望他们在每次我呼叫他们时刷新新信息;你知道我该怎么做吗? 这是我的代码:

class HFlair(tk.Tk):

    def __init__(self, *args, **kwargs):
        tk.Tk.__init__(self, *args, **kwargs)
        container = tk.Frame(self)
        container.pack(side="top", fill="both", expand=True)
        container.grid_rowconfigure(10, weight=1)
        container.grid_columnconfigure(10, weight=1)
        self.container=container

        self.frames = {}
        for F in ((StartPage, None), (PageOne, None)):
            page_name = F[0].__name__
            frame = F[0](parent=container, controller=self, attr=F[1])
            self.frames[page_name] = frame
            frame.grid(row=0, column=0, sticky="nsew")
        self.show_frame("StartPage")

    def show_frame(self, page_name,arg=None):
        '''Show a frame for the given page name'''
        frame = self.frames[page_name]
        frame.tkraise()
        if arg:
            frame.users(arg)

class StartPage(tk.Frame):
    def __init__(self, parent, controller,attr=None):
        tk.Frame.__init__(self, parent,attr)
        self.controller = controller
        self.title=tk.Frame(self)
        self.title.pack(side="top")
        self.menu=tk.Frame(self)
        self.menu.pack(side="top")
        self.app=tk.Frame(self)   #### frame that I want refresh
        self.app.pack(side="top") #### frame that I want refresh


class PageOne(tk.Frame):
    def __init__(self, parent, controller, attr=None):
        self.controller=controller
        tk.Frame.__init__(self, parent,attr)
        self.controller = controller
        self.title=tk.Frame(self)
        self.title.pack(side="top")
        self.menu=tk.Frame(self)
        self.menu.pack(side="top")
        self.app=tk.Frame(self)   #### frame that I want refresh
        self.app.pack(side="top") #### frame that I want refresh
我的问题是,在frame self.app中,我从数据库中获取了一些信息,因此每次我转到这个特定页面时,我都希望frame刷新获取更新信息

有什么简单的方法吗?
我尝试使用.update(),但不起作用,与其他方法相比,它没有给我任何问题,但框架没有刷新。

update()
用于强制
mainloop
更新/重画小部件,而不是更新数据。您可以在每个页面中创建函数
update\u frame()
,并在
show\u frame
-
frame.update\u frame()
-中调用它们,这样每次更改页面时都会执行该函数。有些页面可以有空的
update_frame()
,而在其他页面,您可以将您的代码放在其中。ottimo,非ci avevo proprio pensato ma funziona perfettamente;)grazie 1000:我不知道你在吃什么——除了“grazie”:)哦,对不起,我在尝试你的建议,我写得很快,没有考虑语言:哈哈,我说它工作得很好,非常感谢你的帮助;)如果我记得很清楚的话,你在其他职位上帮了我很多;)百万克朗:D