2014-09-07 6 views
1

나는 ipython의 터미널에서 스크립트 가능한 시각화 도구 mayavi을 실험 해 왔습니다. Mayavi는 wx 백엔드를 사용하므로 주소를 확인하기 위해 마법 기능을 호출 한 다음 GUI를 변경하고 변경 사항이 적용되었는지 확인하기 위해 주소를 다시 확인합니다. (조금 쓸모가 없습니다.)ipython 마법 함수의 메모리 주소

In [1]: %gui 
Out[1]: <CFunctionType object at 0x03491D50> 

In [2]: %gui wx 
Out[2]: <wx._core.App; proxy of <Swig Object of type 'wxPyApp *' at 0x33a8ea8> > 

In [3]: %gui 
Out[3]: <CFunctionType object at 0x0354AEB8> 

In [4]: %gui 
Out[4]: <CFunctionType object at 0x0354AF30> 

왜 3과 4의 주소가 다른가요?

+0

당신은 3, 4 '%의 GUI의 wx'을 지정하지 그래서이 변화하고 있다는 의미가 있습니다, 호출 할 때마다 새 객체를 만듭니다. –

+0

'wx' 옵션을 설정 한 후 주소가 변경되었는지를 확인하는 함수를 호출합니다.이 후 백엔드를 다시 변경하지 않으면 주소가 같을 것이라고 가정합니다. – SAAD

+0

다른 질문으로 "마법 기능의 동작에서 아무것도 변경하지 않으면 주소가 변경되는 이유는 무엇입니까?" – SAAD

답변

0

docs :

사용자의 경우 GUI 이벤트 루프 통합을 사용하는 것이 간단합니다. 당신은 간단한 사용 % GUI 마법 다음과 같이 인수로

%의 GUI [GUINAME]

는, % GUI를 모든 GUI 지원을 제거합니다.

유효한 GUINAME 인수는 wx, qt, gtk 및 tk입니다.

따라서, 대화 형 wxPython을 사용하고 실행중인 wx.App 객체를 생성, 수행 %의 GUI의 WX

+0

나는 % gui를 확인하기에는 너무 게으른가요? ipython에서 :) – SAAD

+0

롤, 그럼 적어도 거기에있어 :) –