0

私の質問はインタラクティブなジュピターノートです。Jupyter:関数からセルに出力する方法、JavaScriptからコールバックする方法

JavaScriptボタンを表示し、ボタンクリックの結果として何かをセルに印刷したいと思います。

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

をしかし、我々は純粋なJavaScriptの物事にジャンプしたときにうまくいかない:

我々はipywidgetsでこれeaselyを行うことができます。私。 (私はビープ音によって確認された)

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

コールバックがsuccessfulyと呼ばれますが、印刷はボタンで表示されているセルには出力を生成しない:私はon_click()イベントハンドラに私は次のようにカーネルの相互作用を使用し、JavaScriptのボタンがあります。だから私はいくつかの魔法(Pythonの世界のすべてのような)があるはずだと思いますが、印刷領域を引き出すためには、それをキャストするのを助けてください?

答えて

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) 
関連する問題