我在文档和论坛中进行了搜索,但没有找到答案,所以我在这里询问...
这是我的一行代码来设置我的小部件:
bankroll_init = wg.IntSlider(min=1000, max=10000, step=500, value=3000, description='Initial Bankroll')
这是我的 VBox,用于显示我的所有小部件:
ui = wg.VBox([bankroll_init, bet_init, multiplier,odds_category,league])
out = wg.interactive_output(calcul, {'bankroll_init': bankroll_init, 'bet_init': bet_init,
'multiplier': multiplier,'odds_category':odds_category,'league':league})
display(ui)
display(out)
我不希望每个小部件的描述被裁剪/截断。请问我怎么能强迫它?
对于滑块,这在 ipywidgets“Jupyter 小部件布局”文档的“描述”标题下中有介绍。 (搜索文本“可能已经注意到长描述被截断”以找到文档文本中的确切点。)以下是使用样式器的选项:
import plotly.graph_objs as go
import numpy as np
from ipywidgets import widgets
from IPython.display import display
def calcul(bankroll_init, bet_init):
print((bankroll_init + bet_init))
style = {'description_width': 'initial'}
bankroll_init = widgets.IntSlider(min=1000, max=10000, step=500, value=3000, description='Initial Bankroll', style = style)
bet_init = widgets.IntSlider(min=10, max=10000, step=500, value=3000, description='First Bet')
ui = widgets.VBox([bankroll_init, bet_init])
out = widgets.interactive_output(calcul, {'bankroll_init': bankroll_init, 'bet_init': bet_init,})
display(ui)
display(out)
您还可以直接将 HBox 与 Label 小部件一起使用:
import plotly.graph_objs as go
import numpy as np
from ipywidgets import widgets, HBox, Label
from IPython.display import display
def calcul(bankroll_init, bet_init):
print((bankroll_init + bet_init))
bankroll_init = widgets.IntSlider(min=1000, max=10000, step=500, value=3000 )
bet_init = widgets.IntSlider(min=10, max=10000, step=500, value=3000, description='First Bet')
ui = widgets.VBox([HBox([Label('Initial Bankroll'), bankroll_init]), bet_init])
out = widgets.interactive_output(calcul, {'bankroll_init': bankroll_init, 'bet_init': bet_init,})
display(ui)
display(out)
对于下拉菜单,您可以执行类似的操作:
from ipywidgets import widgets
style = {'description_width': 'initial'}
widgets.Dropdown(
options=['Option 1', 'Option 2', 'Option 3'],
value='Option 1',
description='Choose your own adventure:',
disabled=False,
style = style
)
正如RadioButtons文档中“使用动态布局和非常长的标签”子标题下所介绍的那样,您可以将类似的样式方法与控制布局结合起来,这样长描述就不会夹入按钮区域并移动项目名称从按钮圆圈旁边:为了进行比较,您将看到以下剪辑:from ipywidgets import widgets
style = {'description_width': 'initial'}
widgets.RadioButtons(
options=['pepperoni', 'pineapple', 'anchovies'],
# layout={'width': 'max-content'}, # If the items' names are long
description='Pizza topping with a very long label:',
disabled=False,
style = style
)
将所有内容整合在一起。
这应该会给出像您在图片中发布的内容:
import plotly.graph_objs as go
import numpy as np
from ipywidgets import widgets
from IPython.display import display
def calcul(bankroll_init, bet_init):
print((bankroll_init + bet_init))
style = {'description_width': 'initial'}
bankroll_init = widgets.IntSlider(min=1000, max=10000, step=500, value=3000, description='Initial Bankroll', style = style)
bet_init = widgets.IntSlider(min=10, max=10000, step=500, value=3000, description='First Bet')
multiplier = widgets.IntSlider(min=1000, max=10000, step=500, value=3000, description='Multiplier accent',style = style)
odds_category = widgets.RadioButtons(
options=[1, 2, 3],
#layout={'width': 'max-content'}, # If the items' names are long
description='1= Odds< 1; 2 = something else, on & on',
disabled=False,
style = style
)
league = widgets.Dropdown(
options=['League 1', 'League 2', 'League 3'],
value='League 1',
description='Choose your own adventure:',
disabled=False,
style = style
)
ui = widgets.VBox([bankroll_init, bet_init, multiplier,odds_category,league])
out = widgets.interactive_output(calcul, {'bankroll_init': bankroll_init, 'bet_init': bet_init,
'multiplier': multiplier,'odds_category':odds_category,'league':league})
display(ui)
display(out)
上面的所有代码块均已开发,可以在浏览器中正常工作,无需通过通过此处启动的mybinder-served会话进行安装
此列表确定。这些特定示例中未使用列出的许多内容。 将来发帖时,不要只包含代码片段。包括一个
最小的可重现示例