问题:我正试图获得一个像这样的浮点数用户输入指示框,我在Python中的LabView上使用PyPanel设计了它,最终制作了一个包含多个类似框的面板(等等(。
背景:我正在尝试使用PyPanel制作一个用户友好的面板。我是仪表板的新手,但在使用Jupyter Notebook在Python中运行计算和建模方面有一些经验。
PyPanel只严格允许用户将浮点数输入到滑块如下图所示,代码如下:
import panel as pn
pn.extension()
float_slider = pn.widgets.FloatSlider(name='Float Slider', start=0, end=3.141, step=0.01, value=1.57)
float_slider
PyPanel还允许一个字符串的文本框,但不允许下面代码中的数字:
import panel as pn
pn.extension()
x = pn.widgets.TextInput(name='SiO2_[wt%]',value='')
pn.Column(x)
然后可以使用display(x.value)
调用它,但输出在字符串中(即"51.85"(,这意味着我不能用它进行操作;
乘(即
display(x.value*2)
(得到'51.8551.85'
。添加(即
display(x.value+2)
(我得到错误:
TypeError Traceback (most recent call last)
~AppDataLocalTemp/ipykernel_26156/2620765455.py in <module>
----> 1 display(x.value+2)
TypeError: can only concatenate str (not "int") to str
问题:我如何获得与我最初使用的数字文本框类似的用户输入小部件(在开头的"问题"语句中提到(,使用PyPanel接受用户输入的浮点数(例如51.85(?它是否涉及对PyPanel的文本框小部件的一些操作?如果是,可以做些什么来根据用户输入的数字进行基本操作?
不用担心,只需使用字符串输入并使用float((将str转换为float