@ -25,7 +25,7 @@
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
"prompt_number": 2
},
{
"cell_type": "heading",
@ -82,7 +82,7 @@
]
}
],
"prompt_number": 2
"prompt_number": 3
},
{
"cell_type": "markdown",
@ -108,7 +108,7 @@
"def on_value_change(name, value):\n",
" print(value)\n",
"\n",
"# intrange.on_trait_change(on_value_change, 'value')"
"intrange.on_trait_change(on_value_change, 'value')"
],
"language": "python",
"metadata": {},
@ -117,13 +117,298 @@
"output_type": "stream",
"stream": "stdout",
"text": [
"['visible', '_css', '_children_attr', '_children_lists_attr', 'default_view_name', 'value', 'step', 'max', 'min', 'disabled', 'orientation', 'description']\n",
"[]\n",
"[]\n"
"1\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"2\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"3\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"4\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"5\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"6\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"7\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"8\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"9\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"10\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"11\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"12\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"13\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"14\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"15\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"16\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"17\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"18\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"20\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"19\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"18\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"17\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"16\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"12\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"10\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"8\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"6\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"4\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"3\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"2\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"1\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"4\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"10\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"18\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"39\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"60\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"68\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"75\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"79\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"82\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"85\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"86\n"
]
}
],
"prompt_number": 9
"prompt_number": 5
},
{
"cell_type": "heading",
@ -175,7 +460,7 @@
]
}
],
"prompt_number": 4
"prompt_number": 6
},
{
"cell_type": "markdown",
@ -200,269 +485,255 @@
"text": [
"hi\n"
]
}
],
"prompt_number": 5
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"button = widgets.ButtonWidget(description=\"Click Me!\")\n",
"display(button)\n",
"\n",
"def on_button_clicked(sender):\n",
" print(\"Button clicked.\")\n",
" intrange.value +=1\n",
"\n",
"button.on_click(on_button_clicked)"
],
"language": "python",
"metadata": {},
"outputs": [
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"['visible', '_css', '_children_attr', '_children_lists_attr', 'default_view_name', 'description', 'disabled']\n",
"[]\n",
"[]\n"
"85\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Button clicked. \n"
"84\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Button clicked. \n"
"81\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Button clicked. \n"
"79 \n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Button clicked. \n"
"73 \n"
]
}
],
"prompt_number": 12
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Event handlers can also be used to create widgets. In the example below, clicking a button spawns another button with a description equal to how many times the parent button had been clicked at the time."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": [
},
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 11,
"output_type": "stream",
"stream": "stdout",
"text": [
"{'content': {'data': \"{'parent_header': {}, 'msg_type': u'comm_msg', 'msg_id': u'3DBB06AD83C942DD85DC6477B08F1FBF', 'content': {u'data': {u'method': u'custom', u'custom_content': {u'event': u'click'}}, u'comm_id': u'eea5f11ae7aa473993dd0c81d6016648'}, 'header': {u'username': u'username', u'msg_id': u'3DBB06AD83C942DD85DC6477B08F1FBF', u'msg_type': u'comm_msg', u'session': u'0F6D6BE728DA47A38CFC4BDEACF34FC4'}, 'buffers': [], 'metadata': {}}\\ncustom message {'parent_header': {}, 'msg_type': u'comm_msg', 'msg_id': u'3DBB06AD83C942DD85DC6477B08F1FBF', 'content': {u'data': {u'method': u'custom', u'custom_content': {u'event': u'click'}}, u'comm_id': u'eea5f11ae7aa473993dd0c81d6016648'}, 'header': {u'username': u'username', u'msg_id': u'3DBB06AD83C942DD85DC6477B08F1FBF', u'msg_type': u'comm_msg', u'session': u'0F6D6BE728DA47A38CFC4BDEACF34FC4'}, 'buffers': [], 'metadata': {}}\\nhandling click\\n{u'event': u'click'}\\nButton clicked.\\n2\\n\",\n",
" 'name': 'stdout'},\n",
" 'header': {'msg_id': 'd9dc144a-d86c-42c1-8bab-f8a6bc525723',\n",
" 'msg_type': 'stream',\n",
" 'session': '9b9408d8-7420-4e0c-976d-cdda9f8d2564',\n",
" 'username': 'kernel'},\n",
" 'metadata': {},\n",
" 'msg_id': 'd9dc144a-d86c-42c1-8bab-f8a6bc525723',\n",
" 'msg_type': 'stream',\n",
" 'parent_header': {'msg_id': '3DBB06AD83C942DD85DC6477B08F1FBF',\n",
" 'msg_type': 'comm_msg',\n",
" 'session': '0F6D6BE728DA47A38CFC4BDEACF34FC4',\n",
" 'username': 'username'}}"
"70\n"
]
}
],
"prompt_number": 11
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def show_button(sender=None):\n",
" button = widgets.ButtonWidget()\n",
" button.clicks = 0\n",
" if sender is None:\n",
" button.description = \"0\"\n",
" else:\n",
" sender.clicks += 1\n",
" button.description = \"%d\" % sender.clicks\n",
" display(button)\n",
" button.on_click(show_button)\n",
"show_button()\n",
" "
],
"language": "python",
"metadata": {},
"outputs": [
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"['visible', '_css', '_children_attr', '_children_lists_attr', 'default_view_name', 'description', 'disabled']\n",
"[]\n",
"[]\n"
"67\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"['visible', '_css', '_children_attr', '_children_lists_attr', 'default_view_name', 'description', 'disabled']\n",
"[]\n",
"[]\n"
"59\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"['visible', '_css', '_children_attr', '_children_lists_attr', 'default_view_name', 'description', 'disabled']\n",
"[]\n",
"[]\n"
"56\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"['visible', '_css', '_children_attr', '_children_lists_attr', 'default_view_name', 'description', 'disabled']\n",
"[]\n",
"[]\n"
"53\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"['visible', '_css', '_children_attr', '_children_lists_attr', 'default_view_name', 'description', 'disabled']\n",
"[]\n",
"[]\n"
"51\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"['visible', '_css', '_children_attr', '_children_lists_attr', 'default_view_name', 'description', 'disabled']\n",
"[]\n",
"[]\n"
"49\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"['visible', '_css', '_children_attr', '_children_lists_attr', 'default_view_name', 'description', 'disabled']\n",
"[]\n",
"[]\n"
"47\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"['visible', '_css', '_children_attr', '_children_lists_attr', 'default_view_name', 'description', 'disabled']\n",
"[]\n",
"[]\n"
"45\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"['visible', '_css', '_children_attr', '_children_lists_attr', 'default_view_name', 'description', 'disabled']\n",
"[]\n",
"[]\n"
"44\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"['visible', '_css', '_children_attr', '_children_lists_attr', 'default_view_name', 'description', 'disabled']\n",
"[]\n",
"[]\n"
"42\n"
]
}
],
"prompt_number": 7
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"button = widgets.ButtonWidget(description=\"Click Me!\")\n",
"display(button)\n",
"\n",
"def on_button_clicked(sender):\n",
" print(\"Button clicked.\")\n",
" intrange.value +=1\n",
"\n",
"button.on_click(on_button_clicked)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Button clicked.\n",
"43\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"['visible', '_css', '_children_attr', '_children_lists_attr', 'default_view_name', 'description', 'disabled']\n",
"[]\n",
"[]\n"
"Button clicked.\n",
"44\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"['visible', '_css', '_children_attr', '_children_lists_attr', 'default_view_name', 'description', 'disabled']\n",
"[]\n",
"[]\n"
"Button clicked.\n",
"45\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"['visible', '_css', '_children_attr', '_children_lists_attr', 'default_view_name', 'description', 'disabled']\n",
"[]\n",
"[]\n"
"Button clicked.\n",
"46\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"['visible', '_css', '_children_attr', '_children_lists_attr', 'default_view_name', 'description', 'disabled']\n",
"[]\n",
"[]\n"
"Button clicked.\n",
"47\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"['visible', '_css', '_children_attr', '_children_lists_attr', 'default_view_name', 'description', 'disabled']\n",
"[]\n",
"[]\n"
"Button clicked.\n",
"48\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"['visible', '_css', '_children_attr', '_children_lists_attr', 'default_view_name', 'description', 'disabled']\n",
"[]\n",
"[]\n"
"Button clicked.\n",
"49\n"
]
}
],
"prompt_number": 7
"prompt_number": 8
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Event handlers can also be used to create widgets. In the example below, clicking a button spawns another button with a description equal to how many times the parent button had been clicked at the time."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 11,
"text": [
"{'content': {'data': \"{'parent_header': {}, 'msg_type': u'comm_msg', 'msg_id': u'3DBB06AD83C942DD85DC6477B08F1FBF', 'content': {u'data': {u'method': u'custom', u'custom_content': {u'event': u'click'}}, u'comm_id': u'eea5f11ae7aa473993dd0c81d6016648'}, 'header': {u'username': u'username', u'msg_id': u'3DBB06AD83C942DD85DC6477B08F1FBF', u'msg_type': u'comm_msg', u'session': u'0F6D6BE728DA47A38CFC4BDEACF34FC4'}, 'buffers': [], 'metadata': {}}\\ncustom message {'parent_header': {}, 'msg_type': u'comm_msg', 'msg_id': u'3DBB06AD83C942DD85DC6477B08F1FBF', 'content': {u'data': {u'method': u'custom', u'custom_content': {u'event': u'click'}}, u'comm_id': u'eea5f11ae7aa473993dd0c81d6016648'}, 'header': {u'username': u'username', u'msg_id': u'3DBB06AD83C942DD85DC6477B08F1FBF', u'msg_type': u'comm_msg', u'session': u'0F6D6BE728DA47A38CFC4BDEACF34FC4'}, 'buffers': [], 'metadata': {}}\\nhandling click\\n{u'event': u'click'}\\nButton clicked.\\n2\\n\",\n",
" 'name': 'stdout'},\n",
" 'header': {'msg_id': 'd9dc144a-d86c-42c1-8bab-f8a6bc525723',\n",
" 'msg_type': 'stream',\n",
" 'session': '9b9408d8-7420-4e0c-976d-cdda9f8d2564',\n",
" 'username': 'kernel'},\n",
" 'metadata': {},\n",
" 'msg_id': 'd9dc144a-d86c-42c1-8bab-f8a6bc525723',\n",
" 'msg_type': 'stream',\n",
" 'parent_header': {'msg_id': '3DBB06AD83C942DD85DC6477B08F1FBF',\n",
" 'msg_type': 'comm_msg',\n",
" 'session': '0F6D6BE728DA47A38CFC4BDEACF34FC4',\n",
" 'username': 'username'}}"
]
}
],
"prompt_number": 11
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def show_button(sender=None):\n",
" button = widgets.ButtonWidget()\n",
" button.clicks = 0\n",
" if sender is None:\n",
" button.description = \"0\"\n",
" else:\n",
" sender.clicks += 1\n",
" button.description = \"%d\" % sender.clicks\n",
" display(button)\n",
" button.on_click(show_button)\n",
"show_button()\n",
" "
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 9
},
{
"cell_type": "code",