我正在使用 rtcltk
在 R 中创建一个旋转框:
from <- tkwidget(leftFrame, type="spinbox", from=0, to=0.1,
inc=0.001, textvariable=freqFrom,
command = function(){updatePlot()})
当我使用旋转框的箭头时,这将按预期工作(调用 updatePlot
),但如果我只是手动输入内容,则不起作用。
如何捕获“值已更改”事件?
最佳答案
默认情况下,在这种情况下,如果您输入非法值(例如删除最后一个数字),或者如果更新很耗时,那么您不希望它在输入时每次击键之间更新,则它不会更改3 或 4 位数字。
您可以添加一个更新按钮,单击时调用 updatePlot,以便用户输入数字,并在知道完成后单击该按钮。
如果您确实希望每次击键时都进行更新,那么您可以使用 tkbind 函数调用 updatePlot(类似于 tkbind(*spinbox*, "<Key>", updatePlot)
,其中 spinbox 是指向 spinbox 的变量)。
关于r - 捕捉 spinbox 中的变化 - rtcltk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6510567/