Python ipywidgets - 可以在函数内填充的空小部件
Python ipywidgets - empty widget that can be filled inside a function
假设我有一个包含一些数字的下拉小部件和一个包含其他一些数字的 floatext 小部件。我想定义一个带有空参数的小部件,并且可以动态填充函数内部的计算,在本例中为 mW。
我可以通过不定义 mW 小部件并在函数内部返回它来实现,但我希望有另一种方式。
dW = Dropdown(options = [1, 2, 3, 4])
rW = FloatText(200)
mW = ...... empty widget to be filled with the calculation made inside the fuction
@interact(D=dW, R=rW, mW=M)
def print_p(D, R):
dW = D
rW = R
mW = D*R
我的预期结果是在 M 框中填充 400 或动态计算的其他数字。
对于:
"Defining a widget that takes an empty parameter and can be
dynamically filled with the calculation made inside the function"
您可以简单地使用 无参数 的 FloatText
小部件,然后 设置函数内的值;如下:
from __future__ import print_function
from ipywidgets import interact, interactive, fixed, interact_manual
import ipywidgets as widgets
dW = widgets.Dropdown(options=['2', '1'])
rW = widgets.FloatText(200)
mW = widgets.FloatText() #empty widget
@interact(D=dW, R=rW, M= mW)
def print_p(D, R, M):
dW = D
rW = R
mW.value = int(dW)*int(rW) #now i set the value of the empty widget
然后,为了动态检查 mW
的值,您可以使用 threading
库:
import threading
如有疑问:
假设我有一个包含一些数字的下拉小部件和一个包含其他一些数字的 floatext 小部件。我想定义一个带有空参数的小部件,并且可以动态填充函数内部的计算,在本例中为 mW。
我可以通过不定义 mW 小部件并在函数内部返回它来实现,但我希望有另一种方式。
dW = Dropdown(options = [1, 2, 3, 4])
rW = FloatText(200)
mW = ...... empty widget to be filled with the calculation made inside the fuction
@interact(D=dW, R=rW, mW=M)
def print_p(D, R):
dW = D
rW = R
mW = D*R
我的预期结果是在 M 框中填充 400 或动态计算的其他数字。
对于:
"Defining a widget that takes an empty parameter and can be dynamically filled with the calculation made inside the function"
您可以简单地使用 无参数 的 FloatText
小部件,然后 设置函数内的值;如下:
from __future__ import print_function
from ipywidgets import interact, interactive, fixed, interact_manual
import ipywidgets as widgets
dW = widgets.Dropdown(options=['2', '1'])
rW = widgets.FloatText(200)
mW = widgets.FloatText() #empty widget
@interact(D=dW, R=rW, M= mW)
def print_p(D, R, M):
dW = D
rW = R
mW.value = int(dW)*int(rW) #now i set the value of the empty widget
然后,为了动态检查 mW
的值,您可以使用 threading
库:
import threading
如有疑问: