1

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

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

有任何想法吗?谢谢!

4

1 回答 1

0

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

您应该会发现“字符串”属性与用户输入的内容相匹配,但“值”属性包含编辑开始之前编辑框中的数据。

处理此问题的一种方法是调用:

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

在调用按钮回调之前。

于 2012-09-22T10:21:02.933 回答