##// END OF EJS Templates
Updated widget tutorial,...
Updated widget tutorial, - Added slide metadata. - Bolded important parts of speach.

File last commit:

r17509:b8abe805
r17509:b8abe805
Show More
Widget List.ipynb
660 lines | 13.9 KiB | text/plain | TextLexer

Index - [Back](Widget Basics.ipynb) - [Next](Widget Events.ipynb)

In [1]:
%%html
<style>div.text_cell.cell.rendered.slideshow-slide { margin-top: 5em !important; }</style>

Widget List

Complete list

For a complete list of the widgets available to you, you can list the classes in the widget namespace (as seen below). Classes with the suffix Widget are widgets. Widget and DOMWidget are base classes.

In [1]:
from IPython.html import widgets
[w for w in dir(widgets) if w.endswith('Widget')]
Out[1]:
['AccordionWidget',
 'BoundedFloatTextWidget',
 'BoundedIntTextWidget',
 'ButtonWidget',
 'CheckboxWidget',
 'ContainerWidget',
 'DOMWidget',
 'DropdownWidget',
 'FloatProgressWidget',
 'FloatSliderWidget',
 'FloatTextWidget',
 'HTMLWidget',
 'ImageWidget',
 'IntProgressWidget',
 'IntSliderWidget',
 'IntTextWidget',
 'LatexWidget',
 'PopupWidget',
 'RadioButtonsWidget',
 'SelectWidget',
 'TabWidget',
 'TextWidget',
 'TextareaWidget',
 'ToggleButtonWidget',
 'ToggleButtonsWidget',
 'Widget']

Numeric widgets

There are 8 widgets distributed with IPython that are designed to display numeric values. Widgets exist for displaying integers and floats, both bounded and unbounded. The integer widgets share a similar naming scheme to their floating point counterparts. By replacing Float with Int in the widget name, you can find the Integer equivalent.

FloatSliderWidget

In [2]:
widgets.FloatSliderWidget(
    value=7.5,
    min=5.0,
    max=10.0,
    step=0.1,
    description='Test:',
)

Sliders can also be displayed vertically.

In [3]:
widgets.FloatSliderWidget(
    value=7.5,
    min=5.0,
    max=10.0,
    step=0.1,
    description='Test',
    orientation='vertical',
)

FloatProgressWidget

In [4]:
widgets.FloatProgressWidget(
    value=7.5,
    min=5.0,
    max=10.0,
    step=0.1,
    description='Loading:',
)

BoundedFloatTextWidget

In [5]:
widgets.BoundedFloatTextWidget(
    value=7.5,
    min=5.0,
    max=10.0,
    description='Text:',
)

FloatTextWidget

In [6]:
widgets.FloatTextWidget(
    value=7.5,
    description='Any:',
)

Boolean widgets

There are two widgets that are designed to display a boolean value.

ToggleButtonWidget

In [7]:
widgets.ToggleButtonWidget(
    description='Click me',
    value=False,
)

CheckboxWidget

In [8]:
widgets.CheckboxWidget(
    description='Check me',
    value=True,
)

Selection widgets

There are four widgets that can be used to display single selection lists. All four inherit from the same base class. You can specify the enumeration of selectables by passing a list. You can also specify the enumeration as a dictionary, in which case the keys will be used as the item displayed in the list and the corresponding value will be returned when an item is selected.

In [9]:
from IPython.display import display
w = widgets.DropdownWidget(
    values=[1, 2, 3],
    value=2,
    description='Number:',
)
display(w)
In [10]:
w.value
Out[10]:
2

The following is also valid:

In [11]:
w = widgets.DropdownWidget(
    values={'One': 1, 'Two': 2, 'Three': 3},
    value=2,
    description='Number:',
)
display(w)
In [12]:
w.value
Out[12]:
2

RadioButtonsWidget

In [13]:
widgets.RadioButtonsWidget(
    description='Pizza topping:',
    values=['pepperoni', 'pineapple', 'anchovies'],
)

SelectWidget

In [14]:
widgets.SelectWidget(
    description='OS:',
    values=['Linux', 'Windows', 'OSX'],
)

ToggleButtonsWidget

In [15]:
widgets.ToggleButtonsWidget(
    description='Speed:',
    values=['Slow', 'Regular', 'Fast'],
)

String widgets

There are 4 widgets that can be used to display a string value. Of those, the TextWidget and TextareaWidget accept input. The LatexWidget and HTMLWidget display the string as either Latex or HTML respectively, but do not accept input.

TextWidget

In [16]:
widgets.TextWidget(
    description='String:',
    value='Hello World',
)

TextareaWidget

In [17]:
widgets.TextareaWidget(
    description='String:',
    value='Hello World',
)

LatexWidget

In [18]:
widgets.LatexWidget(
    value="$$\\frac{n!}{k!(n-k)!} = \\binom{n}{k}$$",
)

HTMLWidget

In [20]:
widgets.HTMLWidget(
    value="Hello <b>World</b>"
)

ButtonWidget

In [21]:
widgets.ButtonWidget(description='Click me')

Index - [Back](Widget Basics.ipynb) - [Next](Widget Events.ipynb)