0

나는 MVC 모델로 작업하려고합니다. 나는 서로 다른 파일들 사이에서 의사 소통하기 위해 pubsub를 사용한다. wxpython을 사용하여 프로그램의 GUI를 빌드합니다. (I 모듈로이 가져올) filter_view (이 파일의 기본 클래스) 및 MA_view :in wxpython 프레임 보이기/숨기기

나는 내 주요 파일 2 프레임에서 열립니다 난 그냥 수를 필요로하기 때문에

maview = MA_view.Main(None) 
    maview.Hide() 

내가 MA_view을 숨기 그래서 나는 의사 소통을 위해 사용할 수 있습니다. 이제, 사용자가 filter_view의 메뉴 바에서 MA_view를 열길 원할 때, 나는 새로운 MA_view를 열고 싶지 않습니다, 그냥 숨겨진 프레임을 보여주고 싶습니다.

문제는 내가 지금 때문에 정의되지 않은이 파일에 maview하지 않습니다 물론

maview.Show() 

를 입력 할 때 filter_view의 도구 모음이 때문에 별도의 파일도 있다는 것이다. 하지만 이렇게 정의하면 다음과 같습니다.

maview = MA_view.Main(None) 

그냥 새 프레임을 엽니 다.

저는 (아마도 프로그래밍 기술이 충분하지 않아서) 아마도 mvc로 작업하는 것을 좋아하지 않지만 다른 동료와 협력하고 있으므로이 방법으로 작업해야합니다. 사전

답변

1

MVC에서

텍사스 그래서 거기에 걸 매우 중요합니다, 당신은 여분의 학습 곡선을 후회하지 않을 것입니다. 여기에 귀하의 응용 프로그램에 MVC를 지원하기 위해 wx.lib.pubsub를 사용하는 단계는 다음과 같습니다 두 파일에서

  1. from wx.lib.pubsub import pub를 추가합니다.
  2. MA_view 모듈에서 Main.__init__은 인스턴스에 pub.subscribe('unhide_ma', self.__unhide)과 같은 자체를 숨김 해제 할 것을 알리는 항목을 구독하십시오.
  3. filter_view 파일에서과 같은 메뉴 모음 처리기에서 메시지를 보냅니다.
  4. Main.__unhide에서 창을 숨김 해제합니다.
+0

peptalk : o) 나는 실제로 학습 곡선을 즐긴다. 그러나 때로는 너무 초조해 보인다. o) 그러나 도움을 주셔서 감사합니다! 나는 너무 행복해! – VeVi

+0

위대한 행운! – Schollii