GUI程序设计过程

GUI程序设计过程

ID:39549687

大小:137.50 KB

页数:5页

时间:2019-07-06

GUI程序设计过程_第1页
GUI程序设计过程_第2页
GUI程序设计过程_第3页
GUI程序设计过程_第4页
GUI程序设计过程_第5页
资源描述:

《GUI程序设计过程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、GUI程序设计GUI(GraphicalUserInterfaces)是图形用户界面的简称,GUI程序时由窗口、光标、按键、菜单、按钮等对象构成的一个用户界面,用户通过一定的方法选择、激活这些图形对象,使计算机响应这些动作或变化,如实现计算、绘制图形等。GUI程序是提供应用程序、进行技术演示等的方便工具,利于反复使用而且操作简单。和v++、VB等编程语言类似,matlab提供了包括文本框、按钮、复选框、下拉菜单等多种控件供用户使用,并提供了供设计、修改图形用户界面程序的专用工作台,称为layouteditor,使用guide指令即可打开该界面设计工具。句柄图形(HandleGrap

2、hics)就是将一个图形的每一个组件都视为一个对象(Object),每一个对象都有一个独一无二的“句柄”(handle),根据这个句柄,就可以找到这个对象(即图形组件)的各项属性,并进而更改这些属性,以产生不同的图形呈现效果。由于GUI程序控件较多,本文将从实例出发,就MATLAB在数学实验中常用的一些功能进行介绍。【例1.7.1】设计一个如下图形用户界面,该界面有如下功能:(1)打开该界面时,在轴上绘制peaks函数表面着色图,方位角为–37.5°,俯视角为30°;这两个角度的范围均为[-90,90]。(2)若在方位角或俯视角编辑框中输入新数据,则滚动条会自动滚动到对应的位置,且

3、按新视角重新绘制peaks函数;若输入数据错误,则弹出出错对话框;(3)拖动滚动条时,对应的方位角和俯视角均更新,并重新绘制图形;(4)按钮“mesh”和“surf”切换图形绘制方式。(5)关闭该GUI时,弹出对话框进行确认。在本程序中,读者将学习如下知识:ØGUI界面程序的编写过程;ØGUI程序中数据的传递和访问;Ømatlab自定义对话框的使用;Ø各种控件,包括编辑控件、按钮控件、滑动条控件的回调函数编写以下将一步步实现该GUI程序。步骤一:窗口的控件布局与参数设置使用guide指令,打开一个新的GUI程序,分别将Axes控件、四个StaticText控件、两个EditText

4、控件、两个Slider控件、两个PushButton控件拖到界面上。双击每个控件可以打开“PropertyInspector”,并做如下设置:l四个静态文本控件的'String'属性,分别设置为:方位角(度),调整方位角(度),俯视角(度),调整俯视角(度);l第一个EditText控件存储方位角,设置其“String”属性为-37.5;“Tag”属性为edit_az;l第二个EditText控件存储俯视角,设置其“String”属性为30;'Tag'属性为edit_el;l第一个Slider控件设置其“Tag”属性为slider_az;l第二个Slider控件设置其“Tag”属性

5、为slider_el;l第一个PushButton控件设置其“Tag”属性为push_mesh,‘String’属性为‘Mesh’;l第二个PushButton控件设置其“Tag”属性为push_surf,‘String’属性为‘Surf’;此时,将文件存为prog1_7_1.fig,并运行,即可出现一个figure界面,并生成一个prog1_7_1.m文件。可惜目前并不能做任何事情,因为我们还没有设置每个控件的回调属性。步骤二:设置回调函数(1)初始化图形界面函数打开prog1_7_1.fig,找到:functionprog1_7_1_OpeningFcn(hObject,eve

6、ntdata,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;%并

7、赋值,使得程序其他地方均可访问。view([handles.az,handles.el]);%设置初始视角set(handles.edit_az,'Value',handles.az);%将GUI中的edit_az显示为当前值;set(handles.edit_el,'Value',handles.el);%将GUI中的edit_az显示为当前值;set(handles.slider_az,'Value',(handles.az+90)/180);%计算出在滑动条中所

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。