편집 기록

편집 기록
  • 프로필 조영민님의 편집
    날짜2021.09.03

    파이썬 tkinter에서 프레임을 전환하고자 하는데, maximum recursion depth exceeded 에러가 납니다.


    from tkinter import *
    
    class myApp(Tk):
    
        def changeFrame(self, classParam):
            # if self.nowFrame:
            #     self.nowFrame.destory() # 이부분에서 에러가 발생합니다.
            self.nowFrame = classParam
            self.nowFrame.pack()
    
        def __init__(self, root):
            myMenu=Menu(root)
            menu1=Menu(myMenu)
            menu1.add_command(label="이전", command=lambda:self.changeFrame(frameClass_1()))
            menu1.add_command(label="다음", command=lambda:self.changeFrame(frameClass_2()))
            myMenu.add_cascade(label="프레임전환", menu=menu1)
            root.config(menu=myMenu)
            root.mainloop()
    
    
    
    class frameClass_1(Frame):
        def __init__(self):
            super().__init__()
            Label(self, text="frame1").pack()
    
    
    
    class frameClass_2(Frame):
        def __init__(self):
            super().__init__()
            Label(self, text="frame2").pack()
    
    root = Tk()
    myApp(root)
    

    이전 메뉴를 선택하면 프레임 1로 전환하고,다음 메뉴를 선택하면 프레임 2로 전환하고자 합니다.

    하지만, 메뉴를 선택하면, 아래의 에러가 뜹니다. 어떻게 해결해야 할까요?

    [Previous line repeated 989 more times]
    RecursionError: maximum recursion depth exceeded
    
  • 프로필 nowp님의 편집
    날짜2021.09.03

    파이썬 tkinter에서 프레임을 전환하고자 하는데, maximum recursion depth exceeded 에러가 납니다.


    from tkinter import *
    
    class myApp(Tk):
    
        def changeFrame(self, classParam):
            # self.nowFrame.destory() # 이부분에서 에러가 발생합니다.
            self.nowFrame = classParam
            self.nowFrame.pack()
    
        def __init__(self, root):
            myMenu=Menu(root)
            menu1=Menu(myMenu)
            menu1.add_command(label="이전", command=lambda:self.changeFrame(frameClass_1()))
            menu1.add_command(label="다음", command=lambda:self.changeFrame(frameClass_2()))
            myMenu.add_cascade(label="프레임전환", menu=menu1)
            root.config(menu=myMenu)
            root.mainloop()
    
    
    
    class frameClass_1(Frame):
        def __init__(self):
            super().__init__()
            Label(self, text="frame1").pack()
    
    
    
    class frameClass_2(Frame):
        def __init__(self):
            super().__init__()
            Label(self, text="frame2").pack()
    
    root = Tk()
    myApp(root)
    

    이전 메뉴를 선택하면 프레임 1로 전환하고,다음 메뉴를 선택하면 프레임 2로 전환하고자 합니다.

    하지만, 메뉴를 선택하면, 아래의 에러가 뜹니다. 어떻게 해결해야 할까요?

    [Previous line repeated 989 more times]
    RecursionError: maximum recursion depth exceeded
    
  • 프로필 조영민님의 편집
    날짜2021.09.03

    파이썬 tkinter에서 프레임을 전환하고자 하는데, maximum recursion depth exceeded 에러가 납니다.


    from tkinter import *
    
    class myApp(Tk):
    
        def changeFrame(self, classParam):
            # self.nowFrame.destory() # 이부분에서 에러가 발생합니다.
            self.nowFrame = classParam
            self.nowFrame.pack()
    
        def __init__(self, root):
            myMenu=Menu(root)
            menu1=Menu(myMenu)
            menu1.add_command(label="이전", command=lambda:self.changeFrame(frameClass_1()))
            menu1.add_command(label="다음", command=lambda:self.changeFrame(frameClass_2()))
            myMenu.add_cascade(label="프레임전환", menu=menu1)
            root.config(menu=myMenu)
            root.mainloop()
    
    
    
    class frameClass_1(Frame):
        def __init__(self):
            super().__init__()
            Label(self, text="frame1").pack()
    
    
    
    class frameClass_2(Frame):
        def __init__(self):
            super().__init__()
            Label(self, text="frame2").pack()
    
    root = Tk()
    myApp(root)
    

    이전 메뉴를 선택하면 프레임 1로 전환하고,다음 메뉴를 선택하면 프레임 2로 전환하고자 합니다.

    하지만, 메뉴를 선택하면, 아래의 에러가 뜹니다. 어떻게 해결해야 할까요?

    [Previous line repeated 989 more times] RecursionError: maximum recursion depth exceeded