Uncomment the following line to install geemap if needed.
# !pip install geemap
from ipywidgets import interact, interactive, fixed, interact_manual
import ipywidgets as widgets
def f(x):
return x
interact(f, x=10);
interact(f, x=True);
interact(f, x="Hi there!")
@interact(x=True, y=1.0)
def g(x, y):
return (x, y)
def h(p, q):
return (p, q)
interact(h, p=5, q=fixed(20))
widgets.IntSlider()
w = widgets.IntSlider()
display(w)
display(w)
w.close()
w = widgets.IntSlider(value=10)
display(w)
w.value
w.value = 50
w.keys
widgets.Text(value="Hello World!", disabled=True)
a = widgets.FloatText()
b = widgets.FloatSlider()
display(a, b)
mylink = widgets.jslink((a, "value"), (b, "value"))
mylink.unlink()
widgets.IntSlider(
value=7,
min=0,
max=10,
step=1,
description="Test:",
disabled=False,
continuous_update=False,
orientation="horizontal",
readout=True,
readout_format="d",
)
widgets.FloatSlider(
value=7.5,
min=0,
max=10.0,
step=0.1,
description="Test:",
disabled=False,
continuous_update=False,
orientation="horizontal",
readout=True,
readout_format=".1f",
)
widgets.FloatSlider(
value=7.5,
min=0,
max=10.0,
step=0.1,
description="Test:",
disabled=False,
continuous_update=False,
orientation="vertical",
readout=True,
readout_format=".1f",
)
widgets.FloatLogSlider(
value=10,
base=10,
min=-10, # max exponent of base
max=10, # min exponent of base
step=0.2, # exponent step
description="Log Slider",
)
widgets.IntRangeSlider(
value=[5, 7],
min=0,
max=10,
step=1,
description="Test:",
disabled=False,
continuous_update=False,
orientation="horizontal",
readout=True,
readout_format="d",
)
widgets.FloatRangeSlider(
value=[5, 7.5],
min=0,
max=10.0,
step=0.1,
description="Test:",
disabled=False,
continuous_update=False,
orientation="horizontal",
readout=True,
readout_format=".1f",
)
widgets.IntProgress(
value=6,
min=0,
max=10,
step=1,
description="Loading:",
bar_style="", # 'success', 'info', 'warning', 'danger' or ''
orientation="horizontal",
)
widgets.BoundedIntText(
value=7, min=0, max=10, step=1, description="Text:", disabled=False
)
widgets.IntText(value=7, description="Any:", disabled=False)
widgets.ToggleButton(
value=False,
description="Click me",
disabled=False,
button_style="info", # 'success', 'info', 'warning', 'danger' or ''
tooltip="Description",
icon="check", # (FontAwesome names without the `fa-` prefix)
)
widgets.Checkbox(value=False, description="Check me", disabled=False, indent=False)
widgets.Valid(
value=False,
description="Valid!",
)
widgets.Valid(
value=False,
description="Valid!",
)
widgets.Dropdown(
options=["1", "2", "3"],
value="2",
description="Number:",
disabled=False,
)
widgets.Dropdown(
options=[("One", 1), ("Two", 2), ("Three", 3)],
value=2,
description="Number:",
)
widgets.RadioButtons(
options=["pepperoni", "pineapple", "anchovies"],
# value='pineapple', # Defaults to 'pineapple'
# layout={'width': 'max-content'}, # If the items' names are long
description="Pizza topping:",
disabled=False,
)
widgets.Box(
[
widgets.Label(value="Pizza topping with a very long label:"),
widgets.RadioButtons(
options=[
"pepperoni",
"pineapple",
"anchovies",
"and the long name that will fit fine and the long name that will fit fine and the long name that will fit fine ",
],
layout={"width": "max-content"},
),
]
)
widgets.Select(
options=["Linux", "Windows", "OSX"],
value="OSX",
# rows=10,
description="OS:",
disabled=False,
)
widgets.SelectionSlider(
options=["scrambled", "sunny side up", "poached", "over easy"],
value="sunny side up",
description="I like my eggs ...",
disabled=False,
continuous_update=False,
orientation="horizontal",
readout=True,
)
import datetime
dates = [datetime.date(2015, i, 1) for i in range(1, 13)]
options = [(i.strftime("%b"), i) for i in dates]
widgets.SelectionRangeSlider(
options=options, index=(0, 11), description="Months (2015)", disabled=False
)
widgets.ToggleButtons(
options=["Slow", "Regular", "Fast"],
description="Speed:",
disabled=False,
button_style="", # 'success', 'info', 'warning', 'danger' or ''
tooltips=["Description of slow", "Description of regular", "Description of fast"],
# icons=['check'] * 3
)
widgets.SelectMultiple(
options=["Apples", "Oranges", "Pears"],
value=["Oranges"],
# rows=10,
description="Fruits",
disabled=False,
)
widgets.Text(
value="Hello World",
placeholder="Type something",
description="String:",
disabled=False,
)
widgets.Textarea(
value="Hello World",
placeholder="Type something",
description="String:",
disabled=False,
)
widgets.Combobox(
# value='John',
placeholder="Choose Someone",
options=["Paul", "John", "George", "Ringo"],
description="Combobox:",
ensure_option=True,
disabled=False,
)
widgets.Password(
value="password",
placeholder="Enter password",
description="Password:",
disabled=False,
)
widgets.HBox([widgets.Label(value="The $m$ in $E=mc^2$:"), widgets.FloatSlider()])
widgets.HTML(
value="Hello <b>World</b>",
placeholder="Some HTML",
description="Some HTML",
)
widgets.HTMLMath(
value=r"Some math and <i>HTML</i>: \(x^2\) and $$\frac{x+1}{x-1}$$",
placeholder="Some HTML",
description="Some HTML",
)
file = open("/home/qiusheng/Pictures/t-mo.png", "rb")
image = file.read()
widgets.Image(
value=image,
format="png",
width=300,
height=400,
)
widgets.Button(
description="Click me",
disabled=False,
button_style="warning", # 'success', 'info', 'warning', 'danger' or ''
tooltip="Click me",
icon="check", # (FontAwesome names without the `fa-` prefix)
)
play = widgets.Play(
value=50,
min=0,
max=100,
step=1,
interval=500,
description="Press play",
disabled=False,
)
slider = widgets.IntSlider()
widgets.jslink((play, "value"), (slider, "value"))
widgets.HBox([play, slider])
widgets.DatePicker(description="Pick a Date", disabled=False)
widgets.FileUpload(
accept="", # Accepted file extension e.g. '.txt', '.pdf', 'image/*', 'image/*,.pdf'
multiple=False, # True to accept multiple files upload else False
)
widgets.Controller(
index=0,
)
items = [widgets.Label(str(i)) for i in range(4)]
widgets.Box(items)
items = [widgets.Label(str(i)) for i in range(4)]
widgets.HBox(items)
items = [widgets.Label(str(i)) for i in range(4)]
left_box = widgets.VBox([items[0], items[1]])
right_box = widgets.VBox([items[2], items[3]])
widgets.HBox([left_box, right_box])
items = [widgets.Label(str(i)) for i in range(8)]
widgets.GridBox(items, layout=widgets.Layout(grid_template_columns="repeat(3, 100px)"))
tab_contents = ["P0", "P1", "P2", "P3", "P4"]
children = [widgets.Text(description=name) for name in tab_contents]
tab = widgets.Tab()
tab.children = children
tab.titles = [str(i) for i in range(len(children))]
tab
out = widgets.Output(layout={"border": "1px solid black"})
out
with out:
for i in range(10):
print(i, "Hello world!")
from IPython.display import YouTubeVideo
with out:
display(YouTubeVideo("eWzY2nGfkXk"))
with out:
display(widgets.IntSlider())
out = widgets.Output(layout={"border": "1px solid black"})
out.append_stdout("Output appended with append_stdout")
out.append_display_data(YouTubeVideo("eWzY2nGfkXk"))
out
out.clear_output()
from IPython.display import display
button = widgets.Button(description="Click Me!")
output = widgets.Output()
display(button, output)
def on_button_clicked(b):
with output:
print("Button clicked.")
button.on_click(on_button_clicked)
int_range = widgets.IntSlider()
output2 = widgets.Output()
display(int_range, output2)
def on_value_change(change):
with output2:
print(change["new"])
int_range.observe(on_value_change, names="value")