matlab写gui的一些问题

引言

最近一一个项目需要matlab做上位机,所以捡起了扔了好久的matlab的GUI,之前一直在参数传递和handles,hObject,guidata这些问题上面搞不清,刚才终于给搞清楚了,那就废话不多说,开始吧。

handles和hObject

handles和hObject都是matlab自己规定好的句柄,handles相当于是一个大箱子,包含了当前界面里面的所有句柄,hObject是与回调函数关联的控件的句柄(比如说axes,uicontrol等等)

guidata

这个函数我真的是纠结了很久,大家只需要记住

handles=guidata(hObject);%把句柄传递进入函数
guidata(hObject,handles);%更新函数句柄

其他说明

  • m文件运行完之后在命令行里面可能会不出现数据更新的情况,但是大家不要以为handles没有被更新,为了检验,可以写两个互不相关的callback来进行检验
  • 自己使用纯m文件来写gui的时候,在前面可以直接使用handles作为结构来定义控件,比如说
handles.h1=axes(...)
handles.h2=uicontrol(...)
  • 需要全局使用的数据也可以定义在handles的结构里面

Guess you like

Origin blog.csdn.net/KafenWong/article/details/110450332