Tkinker Python3帧更新

时间:2017-01-20 16:17:19

标签: 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)
        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

我的问题是在框架self.app中我有一些从数据库中获取的信息,因此每次进入此特定页面时,我都希望框架刷新获取更新信息。

有一些简单的方法吗? 我尝试使用.update()但没有工作,比其他人没有给我任何问题,但Frame没有刷新。

0 个答案:

没有答案