ipywidgets 文本 on_change 在输入时刷新有问题
ipywidgets Text on_change is buggy refreshes while typing
我正在使用 ipywidgets.Text 并编写了一个函数,当文本更改时会 运行。该功能是时间密集型的。 Text 取 1000 以内的整数。
from ipywidgets import Text
a = Text(description = "Type here", placeholder = "integer: ex: 123")
def on_change(change):
if change["new"]!= change["old"]:
print(change)
#some time intensive code
a.observe(on_change, names =["value"])
所以,当我输入 123 时,on_change 函数 运行s 用于 1,12 和 123(附图)。
我能以某种方式消除 1 和 12 的 运行ning 吗?
一个明显的想法是保留一个明确的按钮,并且 运行 仅当该按钮被单击时..
但是没有更好的主意吗?
您可以将 continuous_update=False
用于您的小部件。
a = Text(
description = "Type here",
placeholder = "integer: ex: 123",
continuous_update=False
)
使用此参数,您的 on_change 函数将仅在以下情况下接收值:按 Enter 键或从输入中移除焦点。
我正在使用 ipywidgets.Text 并编写了一个函数,当文本更改时会 运行。该功能是时间密集型的。 Text 取 1000 以内的整数。
from ipywidgets import Text
a = Text(description = "Type here", placeholder = "integer: ex: 123")
def on_change(change):
if change["new"]!= change["old"]:
print(change)
#some time intensive code
a.observe(on_change, names =["value"])
所以,当我输入 123 时,on_change 函数 运行s 用于 1,12 和 123(附图)。
一个明显的想法是保留一个明确的按钮,并且 运行 仅当该按钮被单击时.. 但是没有更好的主意吗?
您可以将 continuous_update=False
用于您的小部件。
a = Text(
description = "Type here",
placeholder = "integer: ex: 123",
continuous_update=False
)
使用此参数,您的 on_change 函数将仅在以下情况下接收值:按 Enter 键或从输入中移除焦点。