Matlab GUI编辑框输入不起作用

时间:2012-09-21 20:20:16

标签: matlab

所以基本上我试图通过在GUI中的编辑框中按Enter来直接绘制数据,而不必按下与绘制数据相关联的按钮。但是我遇到了一个问题,它在提交到按钮之前没有正确更新编辑框句柄(例如我输入23并按回车键,这应该绘制23个数据周期但当前寄存器为空字符串)。但如果我按两次输入,那么它会正确执行该功能。我得到的代码是:

function edit1_KeyPressFcn(hObject, eventdata, handles)
currentKey = get(gcf,'CurrentKey');
if currentKey == 'return'
  pushbutton1_Callback(handles.pushbutton1, eventdata, handles)
  guidata(gcf,handles)
end

有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:0)

您使用编辑框中的哪个属性来检索输入的数据?

您应该会发现'string'属性与用户输入的内容相匹配,但'value'属性在编辑开始之前包含编辑框中的数据。

处理此问题的一种方法是致电:

 set(handles.edit1,'value',str2double(get(handles.edit1,'string')))

在调用按钮回调之前。