Interact is the basic widget that is often used to derive all other widgets. It has variable arguments, and, depending on these arguments, can affect many different variations of user input control.
We can use interact to produce a slider by passing in an extent. Take the following script:
from ipywidgets import interact # define a function to work with (cubes the number) def myfunction(arg): return arg+1 interact(myfunction, arg=9);
Here, we have a script that does the following:
When we run this script, we get a scrollbar that is modifiable by the user:
The user is able to slide the vertical bar over the range of values. The upper end is 27 and the lower end is -9 (assume we could pass additional arguments to interact to set the range of values that are selectable). myfunction
is called every time the value in the interact
widget is changed and the result printed. As a result, we see 27 selected and the number 28 displayed below the slider (following the processing of myfunction
-27 +1).
We can change the type of control generated based on the arguments passed to interact. Take the following script:
from ipywidgets import interact def myfunction(x): return x interact(myfunction, x=False);
We are going through the same steps as before; however, the value passed is False
(could also be True
). The interact
function examines the argument passed, determines that it is a Boolean value, and presents the appropriate control for a Boolean-a checkbox:
We can generate a text input control again by passing in different arguments to interact
. For example, take the following script:
from ipywidgets import interact def myfunction(x): return x interact(myfunction, x= "Hello World ");
The script produces a text input control with the initial value of "Hello World"
:
We can also use the interact function to produce a drop-down list box for the user to select from. In the following script, we produce a dropdown with two choices:
from ipywidgets import interact def myfunction(x): return x interact(myfunction, x=('red','green'));
This script does the following:
If we run this script in a notebook, we get a display like the following:
The value printed at the bottom will change according to what is selected in the dropdown by the user.
18.118.2.15