最新MATLAB GUI编程总结.docx
- 文档编号:3966796
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:10
- 大小:1.56MB
最新MATLAB GUI编程总结.docx
《最新MATLAB GUI编程总结.docx》由会员分享,可在线阅读,更多相关《最新MATLAB GUI编程总结.docx(10页珍藏版)》请在冰豆网上搜索。
最新MATLABGUI编程总结
MATLABGUI编程总结
1.在命令输入窗口输入guide,MATLAB会弹出如下窗口:
然后选择BlankGUI(default),还可以选择图形存储位置。
点击确定后会弹出如下窗口:
2.左侧的一列为可添加的控件,添加时可直接将控件拖到网格区域,如下图所示:
双击每个控件可以看到每个控件的属性,如双击上图中的“选取角点”按钮,会弹出属性对话框:
重要的属性有String和Tag,String为在界面上显示出来的字符串,Tag为一个控件唯一的标识,完全代表该控件,最好将Tag改为一个有意义的名字。
将各个控件布局完成保存后,MATLAB会自动生成一个*.m文件,包含了各个控件的callback函数。
3.各个控件分析:
1)轴——axes
axes建立一个坐标轴,Tag为axes1,如下图:
axes(handles.axes1);
src=imread(‘1.jpg’);
imshow(src);
可以将“1.jpg”显示在axes1的坐标系中,如下图:
2)按钮——button
同理,button的属性对话框里的String显示按钮的名称,Tag表示按钮的唯一标识,将点击按钮所要完成的功能写入到button所对应的callback函数中,然后点击按钮即可实现所要求的功能。
3)静态文本——txt
String和Tag的所表示的含义都一样。
如果想要动态的显示文本,可通过以下代码实现:
set(handles.txt_title1,’String’,’定焦平均图像’);
静态文本String只能显示字符串String类型,如果需要显示数字,需将数字先转换成字符串——num2str,如:
set(handles.txt_title1,’String’,’num2str(100)’);
如下图:
4)可编辑文本——edit
String和Tag的所表示的含义都一样。
为获取可编辑文本输入的值,可用以下代码实现:
num_dingjiao=str2num(get(handles.edit_dj,'String'));
5)弹出式菜单——popupmenu
String和Tag的所表示的含义都一样。
其中弹出式菜单中可选的值在属性对话框中String中改变。
如下图:
为了使程序在选择不同的值时有不同的响应,可用switch-case结构,结构如下:
switchget(handles.popupmenu_electricity,'Value')
case1
…
case2
…
其中,get(handles.popupmenu_electricity,'Value')得到的是选择的是哪一个的值(1,2,3…),是序号值,如果想要得到String中所对应的值(3,5,7,9…),可由如下代码实现:
val=get(handles.popupmenu_PSFsize,’Value’);
list=get(handles.popupmenu_PSFsize,’String’);
PSF_size=str2num(list{val});
4.其他编程小技巧
1)设置某个控件是否可用
set(handles.pushbutton_selected,’Enable’,’off’);%使按钮不可用
然后在某个callback函数中写入:
set(handles.pushbutton_selected,’Enable’,’on’);%使按钮可用
这样可以引导用户操作,防止用户错误操作造成不良后果。
2)参数传递
Ø将变量声明为全局变量global,如globalmean_dj;
但采用这种方法时,需要在OpeningFunc和调用参数的callback函数中同时声明变量为全局变量。
否则参数不能正确传递。
Ø将要传递的参数放入到handles的结构体中。
handles.mean_image_bianjiao=mean_image_bianjiao;
guidata(hObject,handles);%保存数据
mean_image_dingjiao=handles.mean_image_dingjiao;
3)清除坐标轴中的内容
为了让每次显示的内容与上次的不重叠,需要每次显示之前清空上次显示的内容,可用命令cla或者clareset.
4)选择文件和保存文件
Ø选择文件
lay放置laidlaid[filenamepathname]=uigetfile({‘*.bmp’,’BMPFiles’;’*.png’,’PNGFiles’},’选取定焦图像’);
ifisequal(filename,0)||isequal(pathname,0)
return;
throw投/扔threwthrownend
Ø
Ødeal处理dealtdealt保存文件
[filenamepathname]=uiputfile({‘*.bmp’,’BMPFiles’;’*.png’,’PNGFiles’},’保存图像’);
overtake超车,赶上overtookovertakenifisequal(filename,0)||isequal(pathname,0)
light点着lit/lightedlit/lightedreturn;
bite咬bitbitten/bitelse
fpath=[pathnamefilename];
flee逃跑fledfledend
imwrite(dst,fpath);
5)
6)hurt受伤hurthurt当前窗口切换
figure(handles.figure_OPT);
7)
8)see看sawseen选取图像或者窗口中的坐标点
can能could×直接调用ginput函数,会出现一个十字光标,如:
[y_djx_dj]=ginput
(2);
其中ginput(n)中表示选取坐标点的个数;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新MATLAB GUI编程总结 最新 MATLAB GUI 编程 总结