我使用rtcltk在R中创建了一个spinbox:
from <- tkwidget(leftFrame, type="spinbox", from=0, to=0.1,
inc=0.001, textvariable=freqFrom,
command = function(){updatePlot()})当我使用旋转框的箭头时,这可以正常工作(调用updatePlot),但如果我只是手动键入某些内容,则不起作用。
如何捕捉"value changed“事件?
发布于 2011-06-29 02:12:31
默认情况下,如果您键入一个非法的值(如删除最后一个数字),或者如果更新很耗时,那么当您键入3位或4位数字时,它不会在每次击键之间进行更新。
您可以添加一个update按钮,然后在单击时调用updatePlot,这样用户就可以输入数字,并且当他们知道已经完成时,就会单击该按钮。
如果您确实希望在每次击键时都进行更新,那么可以使用tkbind函数来调用updatePlot (类似于tkbind(*spinbox*, "<Key>", updatePlot),其中spinbox是指向旋转框的变量)。
https://stackoverflow.com/questions/6510567
复制相似问题