日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

1、ipywidgets

發布時間:2024/1/8 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1、ipywidgets 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ipywidgets

ipywidgets可以用于在jupyter notebook當中進行界面設計,以及一些簡單的交互式控件操作。

官方文檔有詳細介紹,本文主要將常用的部件進行了演示,如需詳細研究,請移步官方文檔ipywidgets

一、安裝

pip install ipywidgets

二、基礎方法

1、滑塊interact

interact方法可以實現一些基礎的交互式控件,可以自動生成函數參數的UI控件。

from ipywidgets import interact,fixed# 定義一個可供操作的函數 def foo(x):return x

當傳遞一個參數x=10,會生成一個滑塊并且綁定到函數參數

interact(foo,x=10)

傳遞布爾值,生成復選框

interact(foo,x=True)

傳遞字符串,生成文本框

interact(foo,x="hello world")

傳遞列表,生成下拉框

interact(foo,x=['a','b','c','d'])

傳遞字典,生成下拉框,鍵值對應

interact(foo,x={"a":1,"b":2,"c":3})

傳遞元組,(min,max,step)最小值,最大值,步長

interact(foo,x=(1,9,1))

補充:還可以使用浮點數,生成浮點數滑塊。

以上方法都是將一個參數生成為特定值,當需要多個參數時就需要用到**fixed**參數。

def func(p,q):return (p,q)interact(func,p=5,q=fixed(20)) # 設定20為固定值

2、按鈕

import ipywidgets as widgets from ipywidgets import Layout

1、button(普通按鈕)

widgets.Button(description='點我啊!!!', # 按鈕提示disabled=False,button_style='info', # 'success', 'info', 'warning', 'danger' or '' 按鈕樣式tooltip='Click me',layout = Layout(width="98%",height="50px"), # 按鈕大小調整 )

2、ToggleButton(布爾值按鈕)

用于顯示布爾值

widgets.ToggleButton(value=False,description='點我!!',disabled=False,button_style='warning', # 'success', 'info', 'warning', 'danger' or ''tooltip='Description',icon='check',layout = Layout(width="60%",height='30px') )

3、RadioButtons(單選按鈕)

widgets.RadioButtons(options=['numpy', 'pandas', 'matplotlib'], # value='pineapple',description='',disabled=False )

4、ToggleButtons

widgets.ToggleButtons(options=['numpy', 'pandas', 'matplotlib'],description='Speed:',disabled=False,button_style='success', # 'success', 'info', 'warning', 'danger' or '' # tooltips=['Description of slow', 'Description of regular', 'Description of fast'], # icons=['check'] * 3 )

3、選擇小部件

1、Dropdown(下拉框)

widgets.Dropdown(options=['1', '2', '3'],value='2',description='Number:',disabled=False, )

2、Select(單選框)

widgets.Select(options=['Linux', 'Windows', 'OSX'],value='OSX',# rows=10,description='OS:',disabled=False )

3、SelectionSlider(滑動部件)

widgets.SelectionSlider(options=['low level', 'ordinary', 'well', 'excellent'],value='ordinary',description='我的Python等級',disabled=False,continuous_update=False,orientation='horizontal',readout=True )

4、SelectMultiple(復選框)

widgets.SelectMultiple(options=['Apples', 'Oranges', 'Pears'],value=['Oranges'],#rows=10,description='Fruits',disabled=False )

3、進度條

1、IntProgress (整數型進度條)

widgets.IntProgress(value=5, # 進度條數值min=0,max=10,step=1,description='Loading:',bar_style='danger', # 'success', 'info', 'warning', 'danger' or ''orientation='horizontal' )

2、FloatProgress (浮點型進度條)

widgets.FloatProgress(value=5.5,min=0,max=10.0,step=0.1,description='Loading:',bar_style='warning',orientation='horizontal' )

4、文本

1、Text(固定大小)

widgets.Text(value='Hello World',placeholder='Type something',description='String:',disabled=False )

2、Textarea(可拉伸)

widgets.Textarea(value='Hello World',placeholder='Type something',description='String:',disabled=False )

3、BoundedIntText、BoundedFloatText(限值文本)

# 整數 widgets.BoundedIntText(value=7,min=0,max=10,step=1,description='Text:',disabled=False ) # 浮點數 widgets.BoundedFloatText(value=7.5,min=0,max=10.0,step=0.1,description='Text:',disabled=False )

5、圖片

file = open("小寶貝.jpg", "rb") image = file.read() widgets.Image(value=image,format='jpg',width=300,height=400, )

6、日期選擇器

widgets.DatePicker(description='Pick a Date',disabled=False )

7、容器/布局小部件

1、Box

用于顯示組件當中的多個小部件

words = ['correct', 'horse', 'battery', 'staple'] items = [Button(description=w) for w in words] Box([items[0], items[1], items[2], items[3]])

2、HBox

水平顯示組件中多個小部件

words = ['correct', 'horse', 'battery', 'staple'] items = [Button(description=w) for w in words] HBox([items[0], items[1], items[2], items[3]])

3、VBox

垂直顯示組件中的多個小部件

words = ['correct', 'horse', 'battery', 'staple'] items = [Button(description=w) for w in words] VBox([items[0], items[1], items[2], items[3]])

4、折疊數據

accordion = widgets.Accordion(children=[widgets.IntSlider(), widgets.Text()]) accordion.set_title(0, '滑塊') accordion.set_title(1, '文本') accordion

5、標簽

tab_contents = ['基本', '股池', '買策', '賣策', '選股'] children = [widgets.Text(description=name) for name in tab_contents] tab = widgets.Tab() tab.children = children for index,i in enumerate(tab_contents):tab.set_title(index,i) # 需要索引與值兩個參數 tab

6、折疊數據與標簽嵌套

tab_nest = widgets.Tab() tab_nest.children = [accordion, accordion] tab_nest.set_title(0, '第一塊') tab_nest.set_title(1, '第二塊') tab_nest

8、播放動畫小部件

# 播放動畫結合進度條 play = widgets.Play( # interval=10,value=0,min=0,max=100,step=1,description="Press play",disabled=False )slider = widgets.IntProgress(value=100,# 進度條數值min=0,max=100,step=1,description='Loading:',bar_style='danger', # 'success', 'info', 'warning', 'danger' or ''orientation='horizontal' )widgets.jslink((play, 'value'), (slider, 'value')) widgets.HBox([play, slider])

三、常用事件

1、on_click()

# 查看某個部件的文檔 print(widgets.Button.on_click.__doc__)

按鈕點擊是無狀態發生的,因此想要將事件由前端傳遞到后端,就需要通過on_click方法,在點擊時執行相應的函數:

button = widgets.Button(description="點我啊!!") display(button)# 點擊執行事件,點擊一次,執行一次 def on_button_clicked(b):print("Button clicked.")button.on_click(on_button_clicked)

2、Traitlet事件

observe

observe方法可以用于注冊回調

int_range = widgets.IntSlider() display(int_range)# 每一次事件都會回調當前函數,然后打印`change['new']`中對應的值 def on_value_change(change):print(change['new'])int_range.observe(on_value_change, names='value')


button_clicked(b):
print(“Button clicked.”)

button.on_click(on_button_clicked)

[外鏈圖片轉存中...(img-t6WOeJRd-1578992575048)]### 2、Traitlet事件#### observeobserve方法可以用于注冊回調```python int_range = widgets.IntSlider() display(int_range)# 每一次事件都會回調當前函數,然后打印`change['new']`中對應的值 def on_value_change(change):print(change['new'])int_range.observe(on_value_change, names='value')

[外鏈圖片轉存中…(img-pXoFWyz3-1578992575048)]

總結

以上是生活随笔為你收集整理的1、ipywidgets的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。