手动调用\u init__

2024-04-30 04:23:05 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我尝试在pythontkinter中处理两个窗口,它们可以编辑包含指向特定图像路径的xml文件,问题是读取文件的函数位于我的两个类窗口的__init__中,因此每当我在窗口之间切换时,都会出现相同的图像。我的问题是:有没有办法重新启动这些类,以便__init__运行?在

我认为问题出在show_frame函数中,因为tkraise不运行类中的函数,而只是将类中的任何内容弹出到顶部。在

class xmleditApp(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(0,weight=1)
        container.grid_columnconfigure(0,weight=1)

        self.frames = {}

        for F in (FirstWindow, SecondWindow):

            frame = F(container, self)

            self.frames[F] = frame

            frame.grid(row=0, column=0, sticky="nsew")

        self.show_frame(FirstWindow)

    def show_frame(self, cont):
        frame=self.frames[cont]
        frame.tkraise()

这是我要在返回时自动更新的类:

^{pr2}$

Tags: 文件函数图像selfframesinitcontainerdef
1条回答
网友
1楼 · 发布于 2024-04-30 04:23:05

如果有一个名为myclass的类,则可以使用myclass.__init__(self, etc)手动调用__init__。这里,self是自参数,etc是其他参数。在

相关问题 更多 >