1 import wx
2 class MyFrame(wx.Frame):
3 def __init__(self, parent, title):
4 super(MyFrame, self).__init__(parent, title =title)
5 self.panel = MyPanel(self)
이거 도대체 뭔지 모르겠네....
왜 자식클래스를 부모클래스 super를 호출하면서 넘기는거지??
1 wxPython 임포트
2. wx.Frame 클래스를 상속해서 자식클래스 myFrame을 만들겠다.
3 이 myFrame의 생성자를 정의한다.
4 이놈이 문젠데... 부모함수의 생성자를 호출하려는건 알겠는데, 그리고 그 파라메터로 패런츠오 ㅏ타이틀 넘겨주는것도 알게슨데
그 앞에 super에 MyFrame 이 자식 객체를 왜 파라메터로 받는거지? 그 바로뒤에 셀프도 이해가 안가는구만...
5. 셀프.패널을 마이패널의 자기자신을 부모로 만들어라 (다른 부분 이해됨)
고수님의 불친절한 설명을 기대합니다. 감사합니다.
wx.Frame을 뜯어봐 - dc App
거기서 생성자 메서드가 인자를 어떻게받는지 보면 되지 - dc App
Frame(parent, id=ID_ANY, title="", pos=DefaultPosition, size=DefaultSize, style=DEFAULT_FRAME_STYLE, name=FrameNameStr)
__init__ (self, parent, id=ID_ANY, title=””, pos=DefaultPosition, size=DefaultSize, style=DEFAULT_FRAME_STYLE, name=FrameNameStr)
봐도 모르겠네요;;; 자 고민을 해보자. 수퍼의 __init__을 호출하라고 한거아냐 근데 왜... 슈퍼에 저걸 주는거냐 원래 슈퍼는 최소 두개는 받아야해 부모랑 타이틀 받아야하는데, 아 씌 모르겠네 진짜
혹시 Frame에도 부모가 있음? - dc App
아 그러네 - dc App
아 부모 있네요... 그렇다면 ... 어쩌라는겨?
계속 상위클래스 뜯어보면 답 나올것같은데 - dc App
parent변수 역할이 뭔지 중점적으로 뜯어보면 될듯 - dc App
자 생각을 해보자. 수퍼를 호출한다는것은 wx.frame의 생성자 파라메터를 주겠다는건데 거기에 최소한 셀프랑 패런트를 넣어주어야한다. 그렇게 생성하고, 이닛함수를 호출하는거지. 그런데 왜 셀프에... 아... ...아....... ㅎ ㅏ............
ㅇ ㅏㅎ ㅏ.... 수퍼를 호출하려면 부모의 것을 호출한다는 뜻이니까 부모의 것..을 그냥 호출하면 안되나? 굳이 파라메터 먹여야하나? 생성해서 이닛을 호출하겠다는거잖아. 근데 왜 호출하는거지? 상속까지 받아놓고? 상속을 받았으면 원래것을 다 쓸 수 있지.