互联网用户图形界面设计

上传人:M****1 文档编号:591464816 上传时间:2024-09-17 格式:PPT 页数:77 大小:868KB
返回 下载 相关 举报
互联网用户图形界面设计_第1页
第1页 / 共77页
互联网用户图形界面设计_第2页
第2页 / 共77页
互联网用户图形界面设计_第3页
第3页 / 共77页
互联网用户图形界面设计_第4页
第4页 / 共77页
互联网用户图形界面设计_第5页
第5页 / 共77页
点击查看更多>>
资源描述

《互联网用户图形界面设计》由会员分享,可在线阅读,更多相关《互联网用户图形界面设计(77页珍藏版)》请在金锄头文库上搜索。

1、本章目标l理解用户图形界面的用途l掌握图形用户界面的设计开发工具GUIDEl理解图形对象的常用句柄命令1主要内容l5.1图形用户界面设计工具图形用户界面设计工具GUIDEl5.2控件控件l5.3GUIDE常用工具常用工具l5.4使用使用GUIDE的的GUI设计设计l5.5句柄图形句柄图形l5.6图形对象句柄命令图形对象句柄命令25.1图形用户界面设计工具GUIDEl可视化图形界面开发环境可视化图形界面开发环境GuideGraphicalUserInterfaceDevelopmentEnvironment3用户界面开发环境组成(1)菜单栏;)菜单栏;(2)Guide工具栏;工具栏;(3)图形控

2、件面板;)图形控件面板;(4)界面编辑客户区。)界面编辑客户区。45.2 控件1静态文本(静态文本(StaticText)2编辑框(编辑框(EditText)控件)控件3列表框(列表框(Listbox)控件)控件 4滚动条(滚动条(Slider)控件)控件5按钮(按钮(PushButton)控件)控件6开关按钮(开关按钮(ToggleButton)控件)控件7单选按钮(单选按钮(RadioButton)控件)控件55.2 控件8按钮组(按钮组(ButtonGroup)控件)控件9检查框(检查框(CheckBox)控件)控件10列表框(列表框(Listbox)控件)控件11弹出式菜单(弹出式菜单

3、(PopupMenu)控件)控件12坐标轴(坐标轴(Axes)控件)控件13面板(面板(Panel)控件)控件65.3 GUIDE常用工具常用工具lLayoutEditor:布局编辑器;:布局编辑器;lAlignmentTool:对齐工具;:对齐工具;lPropertyInspector:对象属性观察器;:对象属性观察器;lObjectBrowser:对象浏览器;:对象浏览器;lMenuEditor:菜单编辑器。:菜单编辑器。71布局编辑器(1)Cut:对选中的控件进行剪切操作。:对选中的控件进行剪切操作。(2)Copy:复制选中的控件。:复制选中的控件。(3)Paste:粘贴复制的控件。:粘

4、贴复制的控件。(4)Delete:删除选中的控件。:删除选中的控件。(5)Duplicate:对选中的控件进行复制并粘贴。:对选中的控件进行复制并粘贴。(6)PropertyInspector:对选中的控件打开属性检查器。:对选中的控件打开属性检查器。(7)ObjectBrowser:打开对象浏览器。:打开对象浏览器。(8)ButtonDownFcn:按下鼠标时控件回调的函数。:按下鼠标时控件回调的函数。(9)Callback:单击鼠标时控件回调的函数或功能。:单击鼠标时控件回调的函数或功能。(10)CreateFcn:定义控件在创建阶段执行的回调例程。:定义控件在创建阶段执行的回调例程。(1

5、1)DeleteFcn:定义在对象的删除阶段执行的回调例程。:定义在对象的删除阶段执行的回调例程。82对齐工具93对象属性观察器对象属性观察器一、控件风格和外观一、控件风格和外观(1)BackgroundColor:设置控件背景颜色,:设置控件背景颜色,使用使用RGB或颜色定义。或颜色定义。(2)CData:在控件上显示的真彩色图像,使用:在控件上显示的真彩色图像,使用矩阵表示。矩阵表示。(3)ForegroundColor:文本颜色。:文本颜色。(4)String属性:控件上的文本,以及列表框和属性:控件上的文本,以及列表框和弹出菜单的选项。弹出菜单的选项。(5)Visible:控件是否可见

6、。:控件是否可见。103对象属性观察器对象属性观察器二、对象的常规信息二、对象的常规信息(1)Enable属性:属性:表示此控件的使能状态,设置为表示此控件的使能状态,设置为on”,表示可选,为,表示可选,为“off”时则表示不可选。时则表示不可选。(2)Style:控件对象类型。:控件对象类型。(3)Tag:控件表示(用户定义)。:控件表示(用户定义)。(4)TooltipString属性:提示信息显示。当鼠标指针位属性:提示信息显示。当鼠标指针位于此控件上时,显示提示信息。于此控件上时,显示提示信息。(5)UserData:用户指定数据。:用户指定数据。(6)Position:控件对象的尺

7、寸和位置。:控件对象的尺寸和位置。(7)Units:设置控件的位置及大小的单位:设置控件的位置及大小的单位(8)有关字体的属性,如)有关字体的属性,如FontAngle,FontName等。等。113对象属性观察器对象属性观察器三、控件回调函数的执行三、控件回调函数的执行(1)BusyAction:处理回调函数的中断。有两种选项:处理回调函数的中断。有两种选项:即即Cancel:取消中断事件,:取消中断事件,queue:排队(默认设置)。:排队(默认设置)。(2)ButtonDownFcn属性:按钮按下时的处理函数。属性:按钮按下时的处理函数。(3)CallBack属性:是连接程序界面整个程序

8、系统的实属性:是连接程序界面整个程序系统的实质性功能的纽带。该属性值应该为一个可以直接求值的字质性功能的纽带。该属性值应该为一个可以直接求值的字符串,在该对象被选中和改变时,系统将自动地对字符串符串,在该对象被选中和改变时,系统将自动地对字符串进行求值。进行求值。(4)CreateFcn:在对象产生过程中执行的回调函数。:在对象产生过程中执行的回调函数。(5)DeleteFcn:删除对象过程中执行的回调函数。:删除对象过程中执行的回调函数。(6)Interruptible属性:指定当前的回调函数在执行时是属性:指定当前的回调函数在执行时是否允许中断,去执行其他的函数。否允许中断,去执行其他的函

9、数。123对象属性观察器对象属性观察器四、控件当前状态信息四、控件当前状态信息(1)ListboxTop:在列表框中显示的最顶层的:在列表框中显示的最顶层的字符串的索引。字符串的索引。(2)Max:最大值。:最大值。(3)Min:最小值。:最小值。(4)Value:控件的当前值。:控件的当前值。134对象浏览器对象浏览器对象浏览器里面列出了所有对象的树状结构,对象浏览器里面列出了所有对象的树状结构,这些结构就是当前正在设计的这些结构就是当前正在设计的GUI程序中用到的程序中用到的所有对象。所有对象。145菜单编辑器菜单编辑器l菜单编辑器提供了两种菜单类型的编辑功能:菜单编辑器提供了两种菜单类型

10、的编辑功能:l下拉式菜单(MenuBar)l弹出式菜单(ContextMenu)155.4使用使用GUIDE的的GUI设计设计l使用使用Guide进行进行GUI的界面设计,就像在纸上绘的界面设计,就像在纸上绘制界面一样简单。制界面一样简单。l界面编辑工具设计出界面的大体方案l事件过程编辑器编写各个对象的事件代码l操作实例16例5-3 建立一个图形界面来显示和处理三维图形 基本功能要求如下。基本功能要求如下。(1)建立一个坐标系,以备后来绘制三维图形;)建立一个坐标系,以备后来绘制三维图形;(2)建立三个按钮,用于启动绘图功能;)建立三个按钮,用于启动绘图功能;(3)建立一个组合框()建立一个组

11、合框(PopupMenu),用于显示不同),用于显示不同的图形。的图形。17解题步骤:(1)打开布局编辑器)打开布局编辑器(2)增加组件)增加组件(3)对齐工具)对齐工具(4)设置每个组件的属性;)设置每个组件的属性;(5)设置)设置Guide应用程序选项,采用默认属性。应用程序选项,采用默认属性。(6)激活图形)激活图形18程序代码:程序代码:functionvarargout=My0703(varargin)gui_Singleton=1;gui_State=struct(gui_Name,mfilename,.gui_Singleton,gui_Singleton,.gui_Openin

12、gFcn,My0703_OpeningFcn,.gui_OutputFcn,My0703_OutputFcn,.gui_LayoutFcn,.gui_Callback,);ifnargin&ischar(varargin1)gui_State.gui_Callback=str2func(varargin1);endifnargoutvarargout1:nargout=gui_mainfcn(gui_State,varargin:);elsegui_mainfcn(gui_State,varargin:);end19程序代码:程序代码:functionMy0703_OpeningFcn(hOb

13、ject,eventdata,handles,varargin)handles.peaks=peaks(35);handles.membrane=membrane;x,y=meshgrid(-8:0.5:8);r=sqrt(x.2+y.2)+eps;sinc=sin(r)./r;handles.sinc=sinc;handles.current_data=handles.peaks;surf(handles.current_data);handles.output=hObject;guidata(hObject,handles);functionvarargout=My0703_OutputF

14、cn(hObject,eventdata,handles)varargout1=handles.output;functionSurf_pushbutton_Callback(hObject,eventdata,handles)surf(handles.current_data);functionMesh_pushbutton_Callback(hObject,eventdata,handles)mesh(handles.current_data);20程序代码:程序代码:functionContour_pushbutton_Callback(hObject,eventdata,handles

15、)contour(handles.current_data);functiondata_popup_Callback(hObject,eventdata,handles)val=get(hObject,Value);str=get(hObject,String);switchstrvalcasepeakshandles.current_data=handles.peaks;casemembranehandles.current_data=handles.membrane;casesinchandles.current_data=handles.sinc;endguidata(hObject,h

16、andles);215.5句柄图形句柄图形l句柄图形是对底层图形命令集合的总称,句柄图形是对底层图形命令集合的总称,它实际上进行生成图形的工作。它实际上进行生成图形的工作。227.5.1句柄图形的层次关系句柄图形的层次关系235.5.2图形窗口对象的属性图形窗口对象的属性1Color属性属性2MenuBar属性属性3Name属性属性4NumberTitle属性属性5Units属性属性6Position属性属性7Resize属性属性8Visible属性属性9NextPlot属性属性10打印纸属性打印纸属性11各种回调函数各种回调函数245.6图形对象句柄命令图形对象句柄命令l句句柄柄系系统统可可

17、以以从从底底层层(1owlevel)创创建建和和操操作作线线、面、文字、图像等基本图形对象指令。面、文字、图像等基本图形对象指令。255.6.1建立图形对象的函数1figure函数:创建一个新的图形对象。函数:创建一个新的图形对象。2newplot函数:做好开始画新图形对象的准备。函数:做好开始画新图形对象的准备。3axes函数:创建坐标轴图形对象。函数:创建坐标轴图形对象。4line函数:画线。函数:画线。5patch函数:填充多边形。函数:填充多边形。6surface函数:绘制三维曲面。函数:绘制三维曲面。7image函数:显示图片对象。函数:显示图片对象。8uicontrol函数:生成用

18、户控制图形对象。函数:生成用户控制图形对象。9uimenu函数:生成图形窗口的菜单中层次菜单与下一函数:生成图形窗口的菜单中层次菜单与下一级子菜单。级子菜单。26例5-4 显示曲线图程序程序:h=figure();t=0:pi/10:2*pi;line(t,sin(t);line(t,cos(t);27例5-5显示多边形。程序程序:x=0:pi/4:2*pi;patch(sin(x),cos(x),r)285.6.2图形对象句柄的获得和删除图形对象句柄的获得和删除lgcf函数:获得当前图形窗口的句柄函数:获得当前图形窗口的句柄lgca函数:获得当前坐标轴的句柄函数:获得当前坐标轴的句柄lgco

19、函数:获得当前对象的句柄函数:获得当前对象的句柄lgcbo函数:获得当前正在执行调用的对象的句柄函数:获得当前正在执行调用的对象的句柄lgcbf函数:获取包括正在执行调用的对象的图形函数:获取包括正在执行调用的对象的图形句柄句柄ldelete函数:删除句柄所对应的图形对象函数:删除句柄所对应的图形对象lfindobj函数:查找具有某种属性的图形对象函数:查找具有某种属性的图形对象295.6.3对象属性的获取和设置对象属性的获取和设置l(1)get函数返回某些对象属性的当前值。例如:函数返回某些对象属性的当前值。例如:lpget(hf_1,Position);l(2)函数)函数set改变句柄图形

20、对象属性,例如:改变句柄图形对象属性,例如:lset(hf_1,Position,vect);30扩展阅读l5.7公用对话框公用对话框文件文件l文件选择对话框l颜色选择对话框l字体选择对话框l页面设置对话框l警告与错误信息对话框l简单帮助信息对话框31上机指导上机指导l5.8动画制作动画制作l例:编写一个演示程序,用于显示小球沿正弦曲线运动的运动规律。32应用举例应用举例利用界面设计工具利用界面设计工具guide,重新编写,重新编写MATLAB中中平面演示程序平面演示程序graf2d.m。33解题步骤:l(1)利用界面编辑器,设计窗口初始位置和大小,添加)利用界面编辑器,设计窗口初始位置和大小

21、,添加所需控件所需控件l(2)新建图形对象,对齐所有控件)新建图形对象,对齐所有控件l(3)设置新建对象的属性)设置新建对象的属性l(4)在产生的)在产生的M文件加入相应代码文件加入相应代码34程序代码1functionline_pushbutton_Callback(hObject,eventdata,handles)cmdStr=str2mat(.%Lineplotofachirp,.x=0:0.05:5;,.y=sin(x.2);,.plot(x,y);.);set(handles.edit1,String,cmdStr);evalmcw(handles.edit1);functionb

22、ar_pushbutton_Callback(hObject,eventdata,handles)cmdStr=str2mat(.%Barplotofabellshapedcurve,.x=-2.9:0.2:2.9;,.bar(x,exp(-x.*x);.);set(handles.edit1,String,cmdStr);evalmcw(handles.edit1);35程序代码2functionstair_pushbutton_Callback(hObject,eventdata,handles)cmdStr=str2mat(.%Stairstepplotofasinewave,.x=0:

23、0.25:10;,.stairs(x,sin(x);.);set(handles.edit1,String,cmdStr);evalmcw(handles.edit1);functionError_pushbutton_Callback(hObject,eventdata,handles)cmdStr=str2mat(.%Errorbarplot,.x=-2:0.1:2;,.y=erf(x);,.e=rand(size(x)/10;,.errorbar(x,y,e);.);set(handles.edit1,String,cmdStr);evalmcw(handles.edit1);36程序代

24、码3functionPolar_pushbutton_Callback(hObject,eventdata,handles)cmdStr=str2mat(.%Polarplot,.t=0:.01:2*pi;,.polar(t,abs(sin(2*t).*cos(2*t);.);set(handles.edit1,String,cmdStr);evalmcw(handles.edit1);functionstem_pushbutton_Callback(hObject,eventdata,handles)cmdStr=str2mat(.%Stemplot,.x=0:0.1:4;,.y=sin(x

25、.2).*exp(-x);,.stem(x,y).);set(handles.edit1,String,cmdStr);evalmcw(handles.edit1);37程序代码4functioninfo_pushbutton_Callback(hObject,eventdata,handles)helpwinfunctionclose_pushbutton_Callback(hObject,eventdata,handles)close(gcf);38前言前言lGUIDE生成的生成的GUI的的M文件控制了所编制的文件控制了所编制的GUI界面的所有属性和行为界面的所有属性和行为,或者说外观和对

26、用或者说外观和对用户操作的响应。比如说按下一个按钮或者选择户操作的响应。比如说按下一个按钮或者选择了一个菜单项之类。了一个菜单项之类。lM文件包括了运行整个界面程序所需要的全部文件包括了运行整个界面程序所需要的全部代码代码,包括所有包括所有GUI组件的组件的Callbacks函数。其实函数。其实这些这些callbacks函数算是函数算是M文件里的子程序文件里的子程序,callback里面就填写你所期望程序做的动作里面就填写你所期望程序做的动作,比比如画一个图或者算一个算式。如画一个图或者算一个算式。39一一.M文件的数据管理模式文件的数据管理模式 v(1)SharingDatawiththeH

27、andlesStructure:用:用handles这个东西共享数据这个东西共享数据v(2)在运行在运行GUI的时候的时候,M文件会自动生成一个文件会自动生成一个叫做叫做handles的结构体。从的结构体。从handles中可获得中可获得比如说控件的信息、菜单信息、比如说控件的信息、菜单信息、axes信息等。信息等。1.关于关于handles40一一.M文件的数据管理模式文件的数据管理模式 1.关于关于handlesv(3)想象想象handles就是一个缸了就是一个缸了,它里面装载了它里面装载了所有的信息所有的信息,而且这个缸在各个控件的而且这个缸在各个控件的callback之间传来传去之间传

28、来传去,理所当然那每个控件理所当然那每个控件的的callback都可以放入一些想放入的数据都可以放入一些想放入的数据,也也可以从里面取出任何想要的数据包括别的控可以从里面取出任何想要的数据包括别的控件的信息件的信息(比如滑竿的当前值比如滑竿的当前值,edittext的当前的当前值值)和别的控件放进去的数据。和别的控件放进去的数据。41一一.M文件的数据管理模式文件的数据管理模式2.使用使用handles的目的的目的v(1)各个控件的各个控件的callback的信息交换的信息交换如如handles.current_data=X;%把数据放把数据放“缸里缸里”guidata(hObject,han

29、dles);%更新及保存更新及保存在需要使用控件数据的地方从在需要使用控件数据的地方从“缸里缸里”捞捞出如出如x1=handles.current_data;42一一.M文件的数据管理模式文件的数据管理模式2.使用使用handles的目的的目的v(2)读取读取/设置设置GUI控件的信息。控件的信息。如如:all_choices是变量名是变量名,my_menu是菜单项的是菜单项的TAG名字名字all_choicesget(handles.my_menu,Value);%current_choice得到了用户界面操作中得到了用户界面操作中,目录或目录或者菜单的选择结果。者菜单的选择结果。总之总之,

30、需要什么控件信息需要什么控件信息,用用handles.控件控件Tag43二二.M-File里的各个函数代表什么意思里的各个函数代表什么意思 v1.Openingfunction添加的代码添加的代码,在在GUI开始运行但是还不可见的开始运行但是还不可见的时候执行。一般做一些初始化工作。时候执行。一般做一些初始化工作。v2.Outputfunction如果有需要如果有需要,可以向命令行输出数据可以向命令行输出数据(不常用不常用)v3.Callbacks回调函数回调函数每一次点击按钮或者向输入框输入数据或者每一次点击按钮或者向输入框输入数据或者拖动滑竿,这些控件名下的拖动滑竿,这些控件名下的call

31、back就会执就会执行一次。行一次。44二二.M-File里的各个函数代表什么意思里的各个函数代表什么意思v3.Callbacks回调函数回调函数当你对组件做点击或者别的动作当你对组件做点击或者别的动作,则自动调则自动调用相应的用相应的callback。callback的名字取决于你的名字取决于你的控件的的控件的tag和控件类型以及响应类型。如和控件类型以及响应类型。如:functionprint_button_Callback(hObject,eventdata,handles)45二二.M-File里的各个函数代表什么意思里的各个函数代表什么意思4.函数的输入参数函数的输入参数M文件的全部

32、文件的全部function都有的两个输入参数都有的两个输入参数:(1)hObject当前当前的这个的这个控件控件(也就是你点哪也就是你点哪一个按钮或者拖的哪一个滑竿一个按钮或者拖的哪一个滑竿)(2)handles现在这现在这整个整个GUI界面界面v对这两个变量进行对这两个变量进行修改后修改后,必须有以下语句必须有以下语句:guidata(hObject,handles);%进行保存进行保存,否则修改无效否则修改无效46三三.操作实例操作实例l1.GUI中的基本操作中的基本操作l2.简单的文本框数据传递简单的文本框数据传递GUI_02l3.设置设置GUI窗口尺寸可调窗口尺寸可调l4.滚动条数值显

33、示在文本框中滚动条数值显示在文本框中GUI_04l5.RadioButton和和ToggleButton的用法的用法GUI_05l6.使用使用ButtonGroup绘制不同的正弦曲线绘制不同的正弦曲线l7.下拉菜单下拉菜单Pop-UpMenu的基本用法的基本用法GUI_07l8.ListBox的基本用法的基本用法GUI_08l9.选择参数绘制曲线选择参数绘制曲线GUI_09l10.菜单控件菜单控件menu的基本用法的基本用法GUI_1047三三.操作实例操作实例l1.GUI中的基本操作中的基本操作l2.简单的文本框数据传递简单的文本框数据传递GUI_2v功能:按下功能:按下“数据传送数据传送”

34、按键,将按键,将edit1的数据的数据送往送往edit2v在按钮在按钮(pushbutton1)的的callback函数中添加函数中添加str=get(handles.edit1,string);set(handles.edit2,string,str)%get:获取获取GUI控件的某一属性控件的某一属性%set:将重设将重设GUI中某一控件的某个属性值中某一控件的某个属性值48三三.操作实例操作实例l3.设置设置GUI窗口尺寸可调窗口尺寸可调v功能:将运行的功能:将运行的GUI窗口可调节其尺寸窗口可调节其尺寸v实现方法:实现方法:依次选择依次选择ToolGUIOptions49三三.操作实例

35、操作实例l4.滚动条数值显示在文本框中滚动条数值显示在文本框中GUI_04v功能:将左侧滚动条控件功能:将左侧滚动条控件(slider)表示的数值大表示的数值大小显示在小显示在edit控件中。控件中。v实现方法:实现方法:在在slider控件中控件中,调用调用callback函数函数,添加以下语句:添加以下语句:var=get(handles.slider1,value);set(handles.edit1,string,num2str(var);50三三.操作实例操作实例l4.滚动条数值显示在文本框中滚动条数值显示在文本框中GUI_04v说明:说明:F(1)slider的的value属性表示

36、滚动条当前表示属性表示滚动条当前表示的数值大小的数值大小F(2)slider的的max属性表示设置滚动条最上端表属性表示设置滚动条最上端表示的最大数值示的最大数值F(3)slider的的min属性表示设置滚动条最下端表属性表示设置滚动条最下端表示的最小数值示的最小数值51三三.操作实例操作实例l5.RadioButton和和ToggleButton的用法的用法GUI_05v功能功能:将三类不同的选择开关当前选择的状态分将三类不同的选择开关当前选择的状态分别传递给三个别传递给三个edit控件控件52三三.操作实例操作实例5.RadioButton和和ToggleButton的用法的用法GUI_0

37、5l实现实现:分别调用选择开关的分别调用选择开关的callback添加语句:添加语句:以以RadioButton为例为例vvar=get(handles.kj1,value);vset(handles.edit1,string,num2str(var);l说明:说明:vRadioButton控件的控件的Max和和Min属性分别表示选属性分别表示选中中/未选中状态的数值未选中状态的数值,体现在体现在Value属性中。属性中。v一旦一旦Value属性值既不等于属性值既不等于Max,也不等于也不等于Min,则则运行时控件消失。运行时控件消失。53三三.操作实例操作实例6.使用使用ButtonGrou

38、p绘制不同的正弦曲线绘制不同的正弦曲线v功能:创建一个功能:创建一个ButtonGroup控件,其中包含控件,其中包含三个三个RadioButtonn,要求选择不同的要求选择不同的RadioButton,则绘制不同三角函数曲线。如图则绘制不同三角函数曲线。如图54三三.操作实例操作实例6.使用使用ButtonGroup绘制不同的正弦曲线绘制不同的正弦曲线v说明:三个说明:三个RatioButton只能同时选择一个响应只能同时选择一个响应,需看做一组。需看做一组。F(1)右键调用右键调用ButtonGroup控件的控件的ViewCallbackSelectChangeFcn函数函数55三三.操作

39、实例操作实例6.使用使用ButtonGroup绘制不同的正弦曲线绘制不同的正弦曲线F添加如下语句添加如下语句x=0:0.01:2*pi;%自变量范围自变量范围axes(handles.axes1);%将坐标系作为当前坐标系将坐标系作为当前坐标系switchget(hObject,Tag)%get获得获得ButtonGroup中动作按钮的中动作按钮的Tag,hObject%指当前操作控件的句柄指当前操作控件的句柄.end56三三.操作实例操作实例6.使用使用ButtonGroup绘制不同的正弦曲线绘制不同的正弦曲线x=0:0.01:2*pi;%自变量范围自变量范围axes(handles.axe

40、s1);%将坐标系作为当前坐标系将坐标系作为当前坐标系switchget(hObject,Tag)casekj1y=sin(x);plot(x,y)%第一条曲线第一条曲线casekj2y=cos(x);plot(x,y)%第二条曲线第二条曲线casekj3y=sin(x)+cos(x);plot(x,y)%第三条曲线第三条曲线end57三三.操作实例操作实例7.下拉菜单下拉菜单Pop-UpMenu的基本用法的基本用法GUI_07v功能功能:利用下拉菜单选择需要显示的曲线利用下拉菜单选择需要显示的曲线58三三.操作实例操作实例7.下拉菜单下拉菜单Pop-UpMenu的基本用法的基本用法GUI_0

41、7v创建过程:创建过程:F(1)选择选择pop-upMenu控件、控件、axes控件控件F(2)设置设置string属性值分别为属性值分别为sin(x)、cos(x)、sin(x)+cos(x)v说明:说明:Pop-UpMenu控件的控件的value属性值只能为属性值只能为1、2、3.正整数正整数,分别对应下拉菜单的每个函数分别对应下拉菜单的每个函数,表明运表明运行时默认选项。行时默认选项。59三三.操作实例操作实例7.下拉菜单下拉菜单Pop-UpMenu的基本用法的基本用法GUI_07v在在Pop-UpMenu控件的控件的callback函数中添加语句:函数中添加语句:x=0:0.01:2*

42、pi;index=get(handles.kj,value);%获取选择函数获取选择函数value值值axes(handles.axes1);switchindexcase1y=sin(x);plot(x,y)case2y=cos(x);plot(x,y)case3y=sin(x)+cos(x);plot(x,y)end60三三.操作实例操作实例8.ListBox的基本用法的基本用法GUI_08v功能:列表框中可做参数选择功能:列表框中可做参数选择61三三.操作实例操作实例8.ListBox的基本用法的基本用法GUI_08v创建:创建:F(1)选择列表框选择列表框ListBox、PushBut

43、ton、Edit控件控件F(2)在在ListBox控件的控件的String属性值中设置为属性值中设置为t/sin(t)/cos(t)/sin(t)+cos(t)四个可选项四个可选项v说明:说明:ListBox控件的控件的Value属性值与属性值与String属性值一一对属性值一一对应应,Value当前值表示默认选择项。当前值表示默认选择项。62三三.操作实例操作实例8.ListBox的基本用法的基本用法GUI_08kj3kj2kj1edit1edit263三三.操作实例操作实例8.ListBox的基本用法的基本用法GUI_08v向向kj1添加的语句写为:添加的语句写为:vindex=get(h

44、andles.kj3,value);switchindexcase1set(handles.edit1,string,t)case2set(handles.edit1,string,sin(x)case3set(handles.edit1,string,cos(x)case4set(handles.edit1,string,sin(x)+cos(x)65三三.操作实例操作实例8.ListBox的基本用法的基本用法GUI_08v向向kj2添加的语句写为:添加的语句写为:vindex=get(handles.kj3,value);switchindexcase1set(handles.edit2,

45、string,t)case2set(handles.edit2,string,sin(x)case3set(handles.edit2,string,cos(x)case4set(handles.edit2,string,sin(x)+cos(x)66三三.操作实例操作实例9.选择参数绘制曲线选择参数绘制曲线GUI_09v功能:功能:listbox控件选择控件选择x轴和轴和y轴的参数,并绘制轴的参数,并绘制曲线。曲线。67三三.操作实例操作实例9.选择参数绘制曲线选择参数绘制曲线GUI_09vkj1、kj2的回调函数同的回调函数同GUI_08,kj4的的Callback中中添加如下语句:添加如

46、下语句:str1=get(handles.edit1,string);str2=get(handles.edit2,string);t=0:0.01:2*pi;switchstr1casetx=t;casesin(x)x=sin(t);casecos(x)x=cos(t);casesin(x)+cos(x)x=sin(t)+cos(t);end68三三.操作实例操作实例9.选择参数绘制曲线选择参数绘制曲线GUI_09vkj1、kj2的回调函数同的回调函数同GUI_08,kj4的的Callback中中添加如下语句:添加如下语句:switchstr2casety=t;casesin(x)y=sin

47、(t);casecos(x)y=cos(t);casesin(x)+cos(x)y=sin(t)+cos(t);endaxes(handles.axes1);plot(x,y)69三三.操作实例操作实例9.选择参数绘制曲线选择参数绘制曲线GUI_09vlistbox控件控件(kj3)/两个两个edit控件控件(edit1和和edit2)/三三个个pushbutton控件控件(kj1,kj2,kj4)/axes控件控件(axes1)kj3kj1kj2kj4edit1edit2axes170三三.操作实例操作实例10.菜单控件菜单控件menu的基本用法的基本用法v功能:利用功能:利用Menu控件生

48、成主菜单控件生成主菜单”曲线曲线”(正弦正弦/余弦余弦),右键可选择颜色,右键可选择颜色/线宽线宽,且各有三个选项。且各有三个选项。v创建创建:(1)点击点击MenuEditorMenuBar主菜单主菜单ContextMenus右键菜单右键菜单71三三.操作实例操作实例10.菜单控件菜单控件menu的基本用法的基本用法v创建创建:(2)创建主菜单及右键菜单。创建主菜单及右键菜单。72三三.操作实例操作实例10.菜单控件菜单控件menu的基本用法的基本用法v创建创建:(2)创建主菜单及右键菜单。创建主菜单及右键菜单。LabelTag正弦正弦颜色颜色红色红色 黑色黑色 绿色绿色余弦余弦sincos

49、LabelTag线宽线宽线宽线宽1 线宽线宽2 线宽线宽3colorblackredgreenxk1xk2xk3xk73三三.操作实例操作实例10.菜单控件菜单控件menu的基本用法的基本用法v说明说明:F(1)axes属性中令属性中令UIContextMenu设置为已建立设置为已建立的的line,这时运行坐标轴方可显示。这时运行坐标轴方可显示。F(2)依次给主菜单的正弦依次给主菜单的正弦/余弦添加余弦添加CallbackF(3)依次给红色依次给红色/绿色绿色/蓝色蓝色/线宽线宽1/线宽线宽2/线宽线宽3添添加加callback74三三.操作实例操作实例10.菜单控件菜单控件menu的基本用法

50、的基本用法(2)依次给主菜单的正弦依次给主菜单的正弦/余弦添加余弦添加Callbackx=0:0.01:2*pi;y=sin(x);axes(handles.axes1);h=plot(x,y);handles.h=h;guidata(hObject,handles)为句柄为句柄handles添加添加变量变量, ,使得使得GUI中其中其他控件可以使用该他控件可以使用该变量。并使用变量。并使用guidata函数更新及函数更新及保存保存handles结构体。结构体。75三三.操作实例操作实例10.菜单控件菜单控件menu的基本用法的基本用法(3)依次给红色依次给红色/绿色绿色/蓝色蓝色/线宽线宽1/线宽线宽2/线宽线宽3添加添加callbackv如调用红色如调用红色Callback函数添加以下语句函数添加以下语句v如调用线宽如调用线宽1Callback函数添加以下语句函数添加以下语句set(handles.h,color,r);set(handles.h,Linewidth,2);76l学好计算机的唯一途径是学好计算机的唯一途径是l你的编程能力与你在计算机上投入的时间成你的编程能力与你在计算机上投入的时间成结结束束语语77

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号