- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
matlabgui编程总结
MATLAB GUI编程总结
在命令输入窗口输入guide,MATLAB会弹出如下窗口:
然后选择Blank GUI(default),还可以选择图形存储位置。
点击确定后会弹出如下窗口:
左侧的一列为可添加的控件,添加时可直接将控件拖到网格区域,如下图所示:
双击每个控件可以看到每个控件的属性,如双击上图中的“选取角点”按钮,会弹出属性对话框:
重要的属性有String和Tag,String为在界面上显示出来的字符串,Tag为一个控件唯一的标识,完全代表该控件,最好将Tag改为一个有意义的名字。
将各个控件布局完成保存后,MATLAB会自动生成一个*.m文件,包含了各个控件的callback函数。
各个控件分析:
轴——axes
axes建立一个坐标轴,Tag为axes1,如下图:
axes(handles.axes1);
src=imread(‘1.jpg’);
imshow(src);
可以将“1.jpg”显示在axes1的坐标系中,如下图:
按钮——button
同理,button的属性对话框里的String显示按钮的名称,Tag表示按钮的唯一标识,将点击按钮所要完成的功能写入到button所对应的callback函数中,然后点击按钮即可实现所要求的功能。
静态文本——txt
String和Tag的所表示的含义都一样。如果想要动态的显示文本,可通过以下代码实现:
set(handles.txt_title1,’String’,’定焦平均图像’);
静态文本String只能显示字符串String类型,如果需要显示数字,需将数字先转换成字符串——num2str,如:
set(handles.txt_title1,’String’,’num2str(100)’);
如下图:
可编辑文本——edit
String和Tag的所表示的含义都一样。为获取可编辑文本输入的值,可用以下代码实现:
num_dingjiao=str2num(get(handles.edit_dj,String));
弹出式菜单——popupmenu
String和Tag的所表示的含义都一样。其中弹出式菜单中可选的值在属性对话框中String中改变。如下图:
为了使程序在选择不同的值时有不同的响应,可用switch-case结构,结构如下:
switch get(handles.popupmenu_electricity,Value)
case 1
…
case 2
…
其中,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});
其他编程小技巧
设置某个控件是否可用
set(handles.pushbutton_selected,’Enable’,’off’);%使按钮不可用
然后在某个callback函数中写入:
set(handles.pushbutton_selected,’Enable’,’on’);%使按钮可用
这样可以引导用户操作,防止用户错误操作造成不良后果。
参数传递
将变量声明为全局变量global,如global mean_dj;
但采用这种方法时,需要在OpeningFunc和调用参数的callback函数中同时声明变量为全局变量。否则参数不能正确传递。
将要传递的参数放入到handles的结构体中。
handles.mean_image_bianjiao=mean_image_bianjiao;
guidata(hObject,handles);%保存数据
mean_image_dingjiao=handles.mean_image_dingjiao;
清除坐标轴中的内容
为了让每次显示的内容与上次的不重叠,需要每次显示之前清空上次显示的内容,可用命令cla或者cla reset.
选择文件和保存文件
选择文件
[filename pathname]=uigetfile({‘*.bmp’,’BMP Files’;’*.png’,’PNG Files’},’选取定焦图像’);
if isequal(filename,0)||isequal(pathname,0)
return;
end
保存文件
[filename pathname]=uiputfile({‘*.bmp’,’BMP Files’;’*.png’,’PNG Files’},’保存图像
您可能关注的文档
最近下载
- 2025年从优秀村主干中考试录用乡镇街道机关公务员模拟试卷.docx VIP
- 微生物检验技士专业实践模拟试题1知识.doc VIP
- Unit 4 Seasons (说课稿)-2024-2025学年鲁科版五四制英语四年级上册.docx VIP
- 【工程文档】亮化工程技术交底.pdf VIP
- 客专联络线隧道临近既有线控制爆破施工专项方案116(分部控爆法 2013年).doc VIP
- 2025高考信息技术真题及答案2025.doc VIP
- 《自动化生产线安装与调试》课件——项目四 分拣站的安装与调试.pptx VIP
- 合同终止通知函8篇.docx VIP
- 华为公司人力资源管理纲要 总纲.docx VIP
- 川教版可爱的四川7至8年级 主题二 第5课《遍布四川的三国遗迹》 课件.pptx
原创力文档


文档评论(0)