我正在使用rtcltk
创建一个旋转框,其中包含:
from <- tkwidget(leftFrame, type="spinbox", from=0, to=0.1,
inc=0.001, textvariable=freqFrom,
command = function(){updatePlot()})
当我使用旋转框的箭头时,这可以按预期工作(updatePlot
被调用),但如果我只是手动输入内容,则无效。
如何捕捉“价值已更改”事件?
答案 0 :(得分:3)
默认情况下,如果您输入非法值(例如删除最后一位数字),或者如果更新耗时,则在此情况下不会更改,那么在输入时不希望它在每次击键之间更新3位或4位数字。
您可以添加更新按钮,而不是在单击时调用updatePlot,以便用户输入数字,当他们知道完成后会单击按钮。
如果您真的希望每次按键都能进行更新,那么您可以使用tkbind函数调用updatePlot(类似tkbind(*spinbox*, "<Key>", updatePlot)
,其中 spinbox 是指向spinbox的变量)。