- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
精品资料》 》》》》
精品资料》 》》》》
MATLAB GU编程总结
1.在命令输入窗口输入guide, MATLAB会弹出如下窗口:
然后选择Blank GUI (default),还可以选择图形存储位置 点击确定后会弹出如下窗口:
叩stitJ詁旳 ■ * - — —— ?小徭疝折
I 并旧- a-E.■/ = :/}Bn:HJ
2.左侧的一列为可添加的控件,添加时可直接将控件拖到网格区域,
如下图所示:
双击每个控件可以看到每个控件的属性, 如双击上图中的“选
取角点”按钮,会弹出属性对话框:
Czwafcn|juh?
Czwafcn
|juh?
■ **lfe^*1 iPnhjiii?Xy Ia|^MlhbuHM i钉f pSfe|M!J?w-ldMi ^idoUiMk^MWJI
ga
■* Liiart
FaTtHiBrm
*刖
ND Lan %an4
EctKmiIFsp lL4f|Mf op Uflfe 亠
重要的属性有String和Tag String为在界面上显示出来的字符
串,Tag为一个控件唯一的标识,完全代表该控件,最好将 Tag改
为一个有意义的名字
将各个控件布局完成保存后,MATLAB会自动生成一个*m文 件,包含了各个控件的callback函数。
3.各个控件分析:
1)车由 axes
axes建立一个坐标轴,Tag为axes1,如下图:
axes(ha ndles.axesl);
src二imread(‘.jpg;
imshow(src);
可以将“ 1.jpg”显示在axesl的坐标系中,如下图:
2)按钮 button
同理,butt on的属性对话框里的String显示按钮的名称,
Tag表示按钮的唯一标识,将点击按钮所要完成的功能写入到 button所对应的callback函数中,然后点击按钮即可实现所要
求的功能
静态文本——txt
String和Tag的所表示的含义都一样。如果想要动态的显示
文本,可通过以下代码实现:
set(handles.txt_title1,String:定焦平均图像
静态文本String只能显示字符串String类型,如果需要显
示数字,需将数字先转换成字符串 num2str, 如:
set( handles.txt_title1, tring:um2str(100)
如下图:
4)可编辑文本 edit
String和Tag的所表示的含义都一样。为获取可编辑文本输 入的值,可用以下代码实现:
num _di ngjiao二str2 nu m(get(ha ndles.edit_dj,Stri ng));
5)弹出式菜单 popupmenu
String和Tag的所表示的含义都一样。其中弹出式菜单中可 选的值在属性对话框中String中改变。如下图:
为了使程序在选择不同的值时有不同的响应,可用
switch-case结构,结构如下:
switch get(handles.popupmenu_electricity,Value)
case 1
case 2
其中,get(handles.popupmenu_electricity,Value7得到的是选择的是 哪一个的值(1,2,3…),是序号值,如果想要得到 String中所对应的 值(3,5,7,9…),可由如下代码实现: val=get(handles.popupmenu_PSFsizeV,alue); list=get(handles.popupmenu_PSFsizeS,tring);
PSF_size=str2num(list{val});
4. 其他编程小技巧
设置某个控件是否可用
set(handles.pushbutton_selected,Enable,off );%使按钮不可用 然后在某个callback函数中写入:
set(ha ndles.pushbutt on .selected nable: n %使按钮可用 这样可以引导用户操作,防止用户错误操作造成不良后果。
参数传递
将变量声明为全局变量 global,女口 global mean_dj;
但采用这种方法时, 需要在 OpeningFunc 和调用参数的 callback函数中同时声明变量为全局变量。 否则参数不能正 确传递。
将要传递的参数放入到 handles 的结构体中。 handles.mean_image_bianjiao=mean_image_bianjiao;
guidata(hObject,ha ndles);%保存数据 mean_image_dingjiao=handles.mean_image_dingjiao;
清除坐标轴中的内容 为了让每次显示的内容与上次的不重叠,需要每次显示之 前清空
文档评论(0)