전화

2013-03-28 3 views
1

내 클래스는 클래스 내에서 다른 함수에서 함수, 전화

class MainFrame(wx.Frame): 
    def __init__(self,parent,ID,title): 
     wx.Frame.__init__(self, parent, ID, title, style=wx.DEFAULT_FRAME_STYLE^ wx.RESIZE_BORDER^wx.MAXIMIZE_BOX,size=(600,500)) 
     wx.Frame.CenterOnScreen(self) 
     .......... 
     .......... 
     panel1 = wx.Panel(panel, wx.ID_ANY,size=(550,200),pos=(25,150)) 
     log = wx.TextCtrl(panel1, wx.ID_ANY, size=(550,200),style = wx.TE_MULTILINE|wx.TE_READONLY|wx.HSCROLL) 

    def PanelStatus(message): 
     ............... 

내가 기능 'PanelStatus'에서 ' 초기화'기능에서 방법에 Panel1를 호출하고 나중에 다른이 함수를 호출 할 어떻게 할 수 있니? 나는 프로그래밍 언어에 아주 익숙하다. 도와주세요.

답변

1

먼저, PanelStatus 함수에 새로운 첫 번째 인수 self을 제공해야합니다. 이는 메소드이기 때문에 메소드는 자동으로 호출 된 인스턴스를 첫 번째 인수로 전달합니다 (이름은 self이 규칙입니다).

__init__에서 self.PanelStatus("some message")으로 부를 수 있습니다. 프로그램의 다른 부분에있는 다른 코드가 MainFrame 인스턴스에 대한 참조를 가지고있는 경우 myMainFrame.PanelStatus("some other message")을 호출 할 수 있습니다.

+0

대단히 감사합니다. :) – Aramanethota

0

나는 이런 식으로 뭔가 해냈고 나를 위해 일했습니다.

class MainFrame(wx.Frame): 
    def __init__(self,parent,ID,title): 
     wx.Frame.__init__(self, parent, ID, title, style=wx.DEFAULT_FRAME_STYLE^wx.RESIZE_BORDER^wx.MAXIMIZE_BOX,size=(600,500)) 
     ....... 
     ....... 
     panel1 = wx.Panel(panel, wx.ID_ANY,size=(550,200),pos=(25,150)) 
     self.log = wx.TextCtrl(panel1, wx.ID_ANY, size=(550,200),style = wx.TE_MULTILINE|wx.TE_READONLY|wx.HSCROLL) 


    def PanelStatus(self,message): 
     self.log.AppendText(message) 

과는 다른 기능에 self.PanelStatus ("내 텍스트")을 사용했다.