如何使用文本框小部件而不是滑块在PyPanel中使用和操作浮点数



问题:我正试图获得一个像这样的浮点数用户输入指示框,我在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

相关内容

  • 没有找到相关文章

最新更新