# !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 World", placeholder='Some HTML', description='Some HTML', ) widgets.HTMLMath( value=r"Some math and HTML: \(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')