0

내 질문에 대한 대화 형 Jupyter 노트북입니다.Jupyter : 함수에서 셀로 인쇄하는 방법, JavaScript에서 다시 호출하는 방법?

JavaScript 버튼을 표시하고 버튼 클릭으로 셀에 무엇인가를 인쇄하고 싶습니다.

def OnClick(b=None): print 'qq' 
b = widgets.Button(description='Button') 
b.on_click(OnClick) 
display(b) 

을하지만 우리는 순수 자바 스크립트 것들로 이동 할 때 잘못 :

우리는 ipywidgets으로이 easely 할 수 있습니다. 나는. (나는 신호음에 의해 확인)

var kernel = IPython.notebook.kernel; 
kernel.execute('onClick()');   

콜백이 successfuly라고하지만, 인쇄 버튼으로 표시됩니다 세포에는 출력을 생성하지 : 나는 않게합니다() 이벤트 처리기에서 내가 좋아하는 커널의 상호 작용을 사용하는 자바 스크립트 버튼이 있습니다. 그래서 나는 인쇄 영역을 확보하기 위해 (파이썬 세계에있는 모든 것과 같은) 어떤 마법이 있어야한다고 생각합니다. 제발 캐스팅을 도와 주시겠습니까?

답변

0

의 핵심은 출력 위젯을 사용하는 것입니다

from ipywidgets import widgets 
from IPython.display import display, HTML 

out = widgets.Output() 

def OnClick(): 
    with out: 
     print 'QQQ' 

display(HTML('<a onclick="IPython.notebook.kernel.execute(\'OnClick()\')">Click!</a>')) 
display(out)