【问题标题】:GUIDE in MATLABMATLAB 中的指南
【发布时间】:2013-08-12 18:39:34
【问题描述】:

我正在尝试在 MATLAB 中构建一个程序,并且我正在使用编辑框,但我希望用户输入的值稍后可以从另一个函数中使用。那么我应该使用global 变量还是有其他方法?

我试图在函数外部定义global 变量,但不起作用。 我试图在函数内部定义它,然后从另一个函数调用它,但它说它是未定义的。有没有办法让我做到这一点?

我只是在使用

function edit1_Callback(hObject, eventdata, handles)
str2double (get (hObject,'String'));

谢谢!! :)

【问题讨论】:

  • 使用句柄结构+guidata!!您会在 SO 上找到该主题的多个答案...我很确定 :)
  • 所以我将在编辑框的函数中使用guidata(hObject,handles),然后在我想回调的其他函数中使用a=guidata(hObject, handles)
  • 不,不完全是 ;-) 我会就此发表一个简短的回答...

标签: matlab user-interface


【解决方案1】:

如果你想在 Matlab-GUI 中存储数据,你可以像这样使用句柄结构:

handles.myVar=123;
%after this dont forget to save it (yes, this is a bit annoying):
guidata(hObject, handles);

稍后,例如在另一个回调中,您可以在句柄结构中找到此数据:

handles.myVar

【讨论】:

  • 我刚刚使用了您的代码,但我输入了 str2double (get (hObject,'String')); 而不是 123,它总是显示相同的数字:/ 为什么会这样?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-17
  • 2013-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多