- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
GUI程序设计过程
GUI程序设计
GUI(Graphical User Interfaces)是图形用户界面的简称,GUI程序时由窗口、光标、按键、菜单、按钮等对象构成的一个用户界面,用户通过一定的方法选择、激活这些图形对象,使计算机响应这些动作或变化,如实现计算、绘制图形等。GUI程序是提供应用程序、进行技术演示等的方便工具,利于反复使用而且操作简单。和v++、VB等编程语言类似,matlab提供了包括文本框、按钮、复选框、下拉菜单等多种控件供用户使用,并提供了供设计、修改图形用户界面程序的专用工作台,称为layout editor,使用guide指令即可打开该界面设计工具。
句柄图形(Handle Graphics)就是将一个图形的每一个组件都视为一个对象(Object),每一个对
象都有一个独一无二的“句柄”(handle),根据这个句柄,就可以找到这个对象(即图形组件)的各项属性,并进而更改这些属性,以产生不同的图形呈现效果。
由于GUI程序控件较多,本文将从实例出发,就MATLAB在数学实验中常用的一些功能进行介绍。
【例1.7.1】设计一个如下图形用户界面,该界面有如下功能:
打开该界面时,在轴上绘制peaks函数表面着色图,方位角为–37.5(,俯视角为30(;这两个角度的范围均为[-90,90]。
若在方位角或俯视角编辑框中输入新数据,则滚动条会自动滚动到对应的位置,且按新视角重新绘制peaks函数;若输入数据错误,则弹出出错对话框;
拖动滚动条时,对应的方位角和俯视角均更新,并重新绘制图形;
按钮 “mesh”和“surf”切换图形绘制方式。
关闭该GUI时,弹出对话框进行确认。
在本程序中,读者将学习如下知识:
GUI界面程序的编写过程;
GUI程序中数据的传递和访问;
matlab自定义对话框的使用;
各种控件,包括编辑控件、按钮控件、滑动条控件的回调函数编写
以下将一步步实现该GUI程序。
步骤一:窗口的控件布局与参数设置
使用guide指令,打开一个新的GUI程序,分别将Axes控件、四个Static Text控件、两个Edit Text控件、两个Slider控件、两个Push Button控件拖到界面上。双击每个控件可以打开“Property Inspector”,并做如下设置:
四个静态文本控件的 String 属性,分别设置为: 方位角(度),调整方位角(度),俯视角(度),调整俯视角(度);
第一个Edit Text控件存储方位角,设置其“String”属性为-37.5;“Tag”属性为edit_az;
第二个Edit Text控件存储俯视角,设置其“String”属性为30;Tag属性为edit_el;
第一个Slider控件设置其“Tag”属性为slider_az;
第二个Slider控件设置其“Tag”属性为slider_el;
第一个Push Button控件设置其“Tag”属性为push_mesh,‘String’属性为‘Mesh’;
第二个Push Button控件设置其“Tag”属性为push_surf,‘String’属性为‘Surf’;
此时,将文件存为prog1_7_1.fig,并运行,即可出现一个figure界面,并生成一个prog1_7_1.m文件。可惜目前并不能做任何事情,因为我们还没有设置每个控件的回调属性。
步骤二:设置回调函数
(1)初始化图形界面函数
打开prog1_7_1.fig,找到:
function prog1_7_1_OpeningFcn(hObject, eventdata, handles, varargin)
该函数是在prog1_7_1运行时,在prog1_7_1图形界面出现之前开始执行。在该程序中,我们可以进行参数的初始化操作。在该函数中,键入如下代码:
handles.peaks= peaks(35); %在handles结构中定义一个field,名字为peaks,
%此后在程序的其他地方均可访问handle.peaks数据
surf(handles.peaks); %该语句使得程序执行时即表面着色绘图;
handles.az=-37.5; %同handles.peaks一样,这里利用handles结构定义az和el域
handles.el=30; %并赋值,使得程序其他地方均可访问。
view([handles.az,handles.el]);%设置初始视角
set(handles.edit_az,Value,handles.az); %将GUI中的edit_az显示为当前值;
set(handles.edit_el,Value,handles.
您可能关注的文档
最近下载
- 曲沃县各级文物保护单位一览表(2021版).docx VIP
- 2025年甘肃省公路交通建设集团武仙公路收费运营人员招聘61人简历怎么投递笔试备考题库及答案解析.docx VIP
- 2025年安徽省淮南市招聘社区工作者考试题(含答案).docx VIP
- 小学新学期开学收心会开学第一课收心主题班会通用PPT.pptx
- 做中文讲师妈妈.doc VIP
- 细胞的基本结构-细胞膜的结构和功能.ppt VIP
- 2025年初中语文九年级上册教学计划及进度表 .pdf VIP
- 部编版小学四年级语文上册教案(全册).pdf VIP
- 2025年甘肃省公路交通建设集团武仙公路收费运营人员招聘61人简历怎么投递笔试备考试题及答案解析.docx VIP
- 高中生物实验探究教学中的跨学科学习研究教学研究课题报告.docx
文档评论(0)