[MATLAB]用户界面设计工具(Callback函数实现)

本实验源于中南大学的《科学计算与MATLAB语言》,博文主要讲述图形用户界面设计工具,以及定义回调函数。

图形用户界面设计模板

在命令行输入:

guide

在这里插入图片描述
里面用四个选项

  • Blank GUI(Default)
  • GUI with Uicontrols
  • GUI with Axes and Menu
  • Modal Wuestion Dialog

然后再次单击空白Blank GUI
在这里插入图片描述
进入到这里后,然后随意拖拉下控件熟悉熟悉流程,比如下图:
在这里插入图片描述

图形用户界面设计工具

对象属性检查器

在这里插入图片描述
这个窗口,可以双击控件获得,然后尝试修改"string"的值,例如:
在这里插入图片描述
然后整体修改变成这样,箭头标出的是,是需要修改tag值哟:
在这里插入图片描述

菜单编辑器

菜单编辑器构成

  • 工具栏
  • 菜单列表
  • 菜单属性面板

图形窗口的MenuBar属性

  • figure
  • none
    在这里插入图片描述
    点击这个之后,新建菜单
    在这里插入图片描述
    然后新建,在这里插入图片描述
    可以设置菜单。
    名字修改成下图

在这里插入图片描述
tag值修改成下图
在这里插入图片描述
其中,

在这里插入图片描述
这个按钮要选中。最后的图效果
在这里插入图片描述

对象浏览器

在这里插入图片描述
这个浏览器可以查看,对象内部设置。

回调属性与回调函数

回调属性

  • Callback属性:按钮类控件和菜单项的单击事件的默认回调属性。
  • ButtonDownFcn属性:定义单击鼠标键按下的响应。
  • KeyPressFcn属性:定义键盘键按下的响应。
  • SelectionChangeFcn属性:定义改变选项的响应。

回调函数框架

function 对象标识_Callback(hObject,eventdata,handles)

其中,hObject为发生事件的源控件,eventdata为事件数据,handles保存图形界面中所有对象的句柄。

例如–绘制图性的Callback

function pushbutton1_Callback(hObject, eventdata, handles)
A=eval(handles.editfz.String);
f=eval(handles.editpl.String)/50;
theta=eval(handles.editxj.String)/180*pi;
x=linspace(0,2*pi,60);
if handles.OpSin.Value==1
    y=A*sin(f*x+theta);
else
    y=A*cos(f*x+theta);
end
plot(x,y);
handles.PStyle.Enable='On';
发布了137 篇原创文章 · 获赞 30 · 访问量 8865

猜你喜欢

转载自blog.csdn.net/m0_37149062/article/details/105407509