版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Institute of Information Theory & Technology Center(ITTC)12Information Theory & Technology Center(ITTC) 什么是MATLAB圖形用戶界面設(shè)計(jì)? 所謂圖形用戶界面所謂圖形用戶界面GUI (Graphical User Interfaces) 是指由是指由窗口、菜單、對(duì)話框等各種窗口、菜單、對(duì)話框等各種圖形對(duì)象圖形對(duì)象組成的用戶界面組成的用戶界面 在這種用戶界面下,用戶的命令和對(duì)程序的控制是通過在這種用戶界面下,用戶的命令和對(duì)程序的控制是通過“選擇選擇”各種圖形對(duì)象來實(shí)現(xiàn)的。各種圖
2、形對(duì)象來實(shí)現(xiàn)的。 圖形對(duì)象 MATLAB圖形用戶界面設(shè)計(jì)Figure(圖形窗口圖形窗口)Uicontrol(用戶控件用戶控件)Axes(坐標(biāo)軸坐標(biāo)軸)Uimenu(用戶菜單用戶菜單)Line(曲曲線線)Surface(曲曲面面)Rectangle(方框方框)Patch(區(qū)域塊區(qū)域塊)Image(圖像圖像)Text(文字文字) Light(光源光源) Root(屏幕屏幕)3Information Theory & Technology Center(ITTC)菜單設(shè)計(jì) 對(duì)話框設(shè)計(jì) 可視化圖形用戶界面設(shè)計(jì) 主要內(nèi)容34Information Theory & Technology
3、Center(ITTC) MATLAB的圖形窗口有默認(rèn)的菜單欄,也允許用戶設(shè)計(jì)自己所需要的菜單系統(tǒng) 菜單對(duì)象是圖形對(duì)象的子對(duì)象,菜單設(shè)計(jì)總在某一圖形窗菜單對(duì)象是圖形對(duì)象的子對(duì)象,菜單設(shè)計(jì)總在某一圖形窗口中進(jìn)行。口中進(jìn)行。 建立用戶菜單 uimenu函數(shù)函數(shù) 建立一級(jí)菜單項(xiàng)的函數(shù)調(diào)用格式為:建立一級(jí)菜單項(xiàng)的函數(shù)調(diào)用格式為: 一級(jí)菜單項(xiàng)句柄一級(jí)菜單項(xiàng)句柄=uimenu(圖形窗口句柄圖形窗口句柄,屬性名,屬性名1,屬性值,屬性值1,屬性名屬性名2,屬性值,屬性值2,) 建立子菜單項(xiàng)的函數(shù)調(diào)用格式為:建立子菜單項(xiàng)的函數(shù)調(diào)用格式為: 子菜單項(xiàng)句柄子菜單項(xiàng)句柄=uimenu(一級(jí)菜單項(xiàng)句柄一級(jí)菜單項(xiàng)句柄,
4、屬性名,屬性名1,屬性值,屬性值1,屬性名屬性名2,屬性值,屬性值2,)菜單設(shè)計(jì)可以缺省,缺省為當(dāng)前窗口可以缺省,缺省為當(dāng)前窗口必須指定必須指定5Information Theory & Technology Center(ITTC) 菜單對(duì)象具有Children、Parent、Tag、Type、UserData、Visible等公共屬性,除公共屬性外,還有一些常用的特殊屬性。 菜單條的提示名稱菜單條的提示名稱 Label:它可以是一個(gè)任意字符串。在菜單項(xiàng)提示的它可以是一個(gè)任意字符串。在菜單項(xiàng)提示的字符串中允許用戶使用字符串中允許用戶使用 標(biāo)志,以表示該符號(hào)后面的字符在顯示時(shí)有標(biāo)志,以
5、表示該符號(hào)后面的字符在顯示時(shí)有一個(gè)下劃線修飾,這使得用戶可以用一個(gè)下劃線修飾,這使得用戶可以用Alt鍵加該字符鍵來激活相應(yīng)的菜鍵加該字符鍵來激活相應(yīng)的菜單項(xiàng)。單項(xiàng)。 回調(diào)函數(shù)回調(diào)函數(shù) Callback:它可以為一個(gè)函數(shù)名稱,也可以是一組它可以為一個(gè)函數(shù)名稱,也可以是一組 MATLAB 命命令。在該菜單被選中以后,令。在該菜單被選中以后, MATLAB將自動(dòng)地調(diào)用此回調(diào)函數(shù)來作出對(duì)將自動(dòng)地調(diào)用此回調(diào)函數(shù)來作出對(duì)相應(yīng)菜單項(xiàng)的響應(yīng),如果沒有設(shè)置一個(gè)合適的回調(diào)函數(shù),則此菜單項(xiàng)也相應(yīng)菜單項(xiàng)的響應(yīng),如果沒有設(shè)置一個(gè)合適的回調(diào)函數(shù),則此菜單項(xiàng)也將失去其應(yīng)有的意義。將失去其應(yīng)有的意義。快捷鍵快捷鍵accele
6、rator:取值為任意字母,定義菜單的快捷鍵為取值為任意字母,定義菜單的快捷鍵為CTRL+字母字母使能狀態(tài)使能狀態(tài)enabled:取值為取值為on/off,若為,若為off,則菜單項(xiàng)呈灰色,不能使用則菜單項(xiàng)呈灰色,不能使用該菜單該菜單分隔符分隔符separator:取值為取值為on/off,若為若為on,則在該菜單項(xiàng)上方添加一條分隔則在該菜單項(xiàng)上方添加一條分隔線線菜單對(duì)象常用屬性6Information Theory & Technology Center(ITTC) 建立圖形演示系統(tǒng)菜單。菜單條中含有3個(gè)菜單項(xiàng):Plot、Option和Quit。Plot中有Sine Wave和Cos
7、ine Wave兩個(gè)子菜單項(xiàng),分別控制在本圖形窗口畫出正弦和余弦曲線。Option菜單項(xiàng)包含Grid on, Grid off, Box on,Box off和Window Color子項(xiàng),其中Grid on和Grid off控制給坐標(biāo)軸加網(wǎng)格線,Box on和Box off控制給坐標(biāo)軸加邊框,而且這4項(xiàng)只有在畫有曲線時(shí)才是可選的。Window Color控制圖形窗口背景顏色。Quit控制是否退出系統(tǒng)。 程序如下:figure(Color,1,1,1,. Name,圖形演示系統(tǒng),NumberTitle,off,MenuBar,none);菜單設(shè)計(jì)舉例7Information Theory &a
8、mp; Technology Center(ITTC)%定義Plot菜單項(xiàng)hplot= uimenu(gcf,Label,Plot); uimenu(hplot,Label,Sine Wave,Call,. t=-pi:pi/20:pi;,plot(t,sin(t);,. set(hgon,Enable,on);,. set(hgoff,Enable,on);,. set(hbon,Enable,on);,. set(hboff,Enable,on);); uimenu(hplot,Label,Cosine Wave,Call,. t=-pi:pi/20:pi;,plot(t,cos(t);,
9、. set(hgon,Enable,on);,. set(hgoff,Enable,on);,. set(hbon,Enable,on);,. set(hboff,Enable,on););菜單設(shè)計(jì)舉例(續(xù))8Information Theory & Technology Center(ITTC)%定義Option菜單項(xiàng)hoption=uimenu(gcf,Label,Option);hgon=uimenu(hoption,Label,Grid on,.Call,grid on,Enable,off);hgoff=uimenu(hoption,Label,Grid off,.Call,
10、grid off,Enable,off);hbon=uimenu(hoption,Label,Box on,.separator,on,Call,box on,Enable,off);hboff=uimenu(hoption,Label,Box off,.Call,box off,Enable,off);hwincor=uimenu(hoption,Label,&Window Color,Separator,on);uimenu(hwincor,Label,Red,Accelerator,r,.Call,set(gcf,Color,r););uimenu(hwincor,Label,B
11、lue,Accelerator,b,.Call,set(gcf,Color,b););uimenu(hwincor,Label,Yellow,Call,.set(gcf,Color,y);); uimenu(hwincor,Label,White,Call,.set(gcf,Color,w);); 菜單設(shè)計(jì)舉例(續(xù))9Information Theory & Technology Center(ITTC)%定義Quit菜單項(xiàng)uimenu(gcf,Label,Quit,Call,close(gcf);菜單設(shè)計(jì)舉例(續(xù))10Information Theory & Technolo
12、gy Center(ITTC) 快捷菜單是用鼠標(biāo)右鍵單擊某對(duì)象時(shí)在屏幕上彈出的菜單 這種菜單出現(xiàn)的位置是不固定的,而且總是和某個(gè)圖形對(duì)象相聯(lián)系。 在MATLAB中,可以使用uicontextmenu函數(shù)和圖形對(duì)象的UIContextMenu屬性來建立快捷菜單,具體步驟為:(1) 利用利用uicontextmenu函數(shù)建立快捷菜單。函數(shù)建立快捷菜單。(2) 利用利用uimenu函數(shù)為快捷菜單建立菜單項(xiàng)。函數(shù)為快捷菜單建立菜單項(xiàng)。(3) 利用利用set函數(shù)將該快捷菜單和某圖形對(duì)象聯(lián)系起來。函數(shù)將該快捷菜單和某圖形對(duì)象聯(lián)系起來??旖莶藛?1Information Theory & Techn
13、ology Center(ITTC) 例 繪制曲線 y=2e-0.5xsin(2x),并建立一個(gè)與之相聯(lián)系的快捷菜單,用以控制曲線的線型和曲線寬度。x=0:pi/100:2*pi;y=2*exp(-0.5*x).*sin(2*pi*x);hl=plot(x,y);hc=uicontextmenu; %建立快捷菜單hls=uimenu(hc,Label,線型); %建立菜單項(xiàng)hlw=uimenu(hc,Label,線寬);uimenu(hls,Label,虛線,Call,set(hl,LineStyle,:););uimenu(hls,Label,實(shí)線,Call,set(hl,LineStyle
14、,-););uimenu(hlw,Label,加寬,Call,set(hl,LineWidth,2););uimenu(hlw,Label,變細(xì),Call,set(hl,LineWidth,0.5););set(hl,UIContextMenu,hc); %將該快捷菜單和曲線對(duì)象聯(lián)系起來 快捷菜單示例12Information Theory & Technology Center(ITTC)菜單設(shè)計(jì) 對(duì)話框設(shè)計(jì) 可視化圖形用戶界面設(shè)計(jì) 主要內(nèi)容13Information Theory & Technology Center(ITTC) 對(duì)話框是重要的信息顯示和獲取輸入數(shù)據(jù)的用戶
15、界面對(duì)象 是用戶與計(jì)算機(jī)進(jìn)行信息交流的臨時(shí)窗口是用戶與計(jì)算機(jī)進(jìn)行信息交流的臨時(shí)窗口 主要通過主要通過用戶控件用戶控件對(duì)象建立對(duì)話框?qū)ο蠼?duì)話框 對(duì)話框的控件按鈕(Push Button)雙位按鈕(Toggle Button)單選按鈕(Radio Button)復(fù)選框(Check Box)列表框(List Box)彈出框(Popup Menu) 編輯框(Edit Box) 滑動(dòng)條(Slider) 靜態(tài)文本(Static Text) 邊框(Frame)對(duì)話框14Information Theory & Technology Center(ITTC)MATLAB提供了用于建立控件對(duì)象的函數(shù)
16、uicontrol,調(diào)用格式為: 對(duì)象句柄對(duì)象句柄=uicontrol(圖形窗口句柄,屬圖形窗口句柄,屬性名性名1,屬性值,屬性值1,屬性名,屬性名2,屬性值,屬性值2,) 各個(gè)屬性名及可取的值和前面介紹的各個(gè)屬性名及可取的值和前面介紹的uimenu函數(shù)相似函數(shù)相似控件對(duì)象的屬性 公共屬性公共屬性 控件對(duì)象作為圖形對(duì)象所具有的屬性控件對(duì)象作為圖形對(duì)象所具有的屬性對(duì)話框的設(shè)計(jì)15Information Theory & Technology Center(ITTC) 公共屬性 Children、Parent、Tag、Type、UserData、Visible 控件對(duì)象的基本控制屬性 St
17、yle取值可以是pushbutton, togglebutton,radiobutton, checkbox, edit, text, slider, frame, popupmenu 或listbox Callback取值為字符串,可以是某個(gè)M文件名或一小段MATLAB語句,當(dāng)用戶激活某個(gè)控件對(duì)象時(shí),應(yīng)用程序就運(yùn)行該屬性定義的子程序。 String定義控件對(duì)象的說明文字,取值為字符串矩陣或數(shù)組 BackgroundColor定義對(duì)象的背景色,取值為顏色的預(yù)定義字符或RGB數(shù)值 ForegroundColor定義控件對(duì)象說明文字的顏色,取值為顏色的預(yù)定義字符或RGB數(shù)值 Units取值可以是p
18、ixelsz(像素), normalized(相對(duì)單位), inches(英寸), centimeters(厘米)或points(磅) Max、Min:取值都為數(shù)值,默認(rèn)值分別為1和0,不同的對(duì)象類型其意義不同。 Value取值可以是矢量,也可以是數(shù)值,其含義及解釋依賴于控件對(duì)象的類型控件對(duì)象的屬性16Information Theory & Technology Center(ITTC) 控件對(duì)象的修飾控制屬性FontAngle取值為normal, italic, oblique,FontName取值為控件標(biāo)題等字體的字庫名FontSize取值為數(shù)值,F(xiàn)ontWeight取值為poi
19、nts, normalized, inches, centimeters或pixelsHorizontalAligment取值為left,right,定義對(duì)齊方式 控件對(duì)象的輔助屬性ListboxTop取值為數(shù)量值SliderStop取值為兩元素矢量minstep,maxstep,用于slider控件Selected取值為on 或off控件對(duì)象的屬性(續(xù))17Information Theory & Technology Center(ITTC) 建立圖形演示對(duì)話框。在編輯框輸入繪圖命令,當(dāng)單擊“繪圖”按鈕時(shí),能在左邊坐標(biāo)軸繪制所對(duì)應(yīng)的圖形,彈出框提供色圖控制,列表框提供坐標(biāo)網(wǎng)格線和坐
20、標(biāo)邊框控制。clf;set(gcf,Unit,normalized,Position,0.2,0.3,0.55,0.36);set(gcf,Menubar,none,Name,圖形演示,NumberTitle,off);axes(Position,0.05,0.15,0.55,0.7);%靜態(tài)文本uicontrol(gcf,Style,text, Unit,normalized,. Posi,0.63,0.85,0.2,0.1,String,. 輸入繪圖命令,Horizontal,center);%編輯框hedit=uicontrol(gcf,Style,edit,Unit,normalize
21、d,. Posi,0.63,0.15,0.2,0.68,. Max,2); %Max取2,使Max-Min1,從而允許多行輸入對(duì)話框設(shè)計(jì)示例18Information Theory & Technology Center(ITTC)%彈出框hpopup=uicontrol(gcf,Style,popup,Unit,normalized,. Posi,0.85,0.8,0.15,0.15,String,. Spring|Summer|Autumn|Winter,Call,. COMM(hedit,hpopup,hlist);%列表框hlist=uicontrol(gcf,Style,li
22、st,Unit,normalized,. Posi,0.85,0.55,0.15,0.25,String,. Grid on|Grid off|Box on|Box off,Call,. COMM(hedit,hpopup,hlist);%繪圖按鈕hpush1=uicontrol(gcf,Style,push,Unit,normalized,. Posi,0.85,0.35,0.15,0.15,String,. 繪 圖,Call,COMM(hedit,hpopup,hlist);對(duì)話框設(shè)計(jì)示例(續(xù))19Information Theory & Technology Center(ITT
23、C)%關(guān)閉按鈕uicontrol(gcf,Style,push,Unit,normalized,. Posi,0.85,0.15,0.15,0.15,String,. 關(guān) 閉,Call,close all); COMM.m函數(shù)文件:function COMM(hedit,hpopup,hlist)com=get(hedit,String);n1=get(hpopup,Value);n2=get(hlist,Value);if isempty(com) %編輯框輸入非空時(shí)eval(com); %執(zhí)行從編輯框輸入的命令 chpop=spring,summer,autumn,winter; chli
24、st=grid on,grid off,box on,box off; colormap(eval(chpopn1); eval(chlistn2);end對(duì)話框設(shè)計(jì)示例(續(xù))20Information Theory & Technology Center(ITTC)菜單設(shè)計(jì) 對(duì)話框設(shè)計(jì) 可視化圖形用戶界面設(shè)計(jì) 主要內(nèi)容21Information Theory & Technology Center(ITTC) MATLAB提供了可視化的用戶界面開發(fā)環(huán)境(GUI Development Environment, GUIDE),實(shí)現(xiàn)“所見即所得” GUIDE可方便的創(chuàng)建GUI應(yīng)用
25、程序, 它可以根據(jù)用戶設(shè)計(jì)的GUI布局,自動(dòng)生成M文件的框架,用戶使用這一框架編制自己的應(yīng)用程序??梢暬瘓D形用戶界面設(shè)計(jì)22Information Theory & Technology Center(ITTC) GUI設(shè)計(jì)模板在MATLAB主窗口中,選擇File菜單中的New菜單項(xiàng),再選擇其中的GUI命令,就會(huì)顯示圖形用戶界面的設(shè)計(jì)模板。4種模板Blank GUI(默認(rèn)) GUI with Uicontrols(帶控件對(duì)象的GUI模板) GUI with Axes and Menu(帶坐標(biāo)軸與菜單的GUI模板) Modal Question Dialog(帶模式問話對(duì)話框的GUI模板
26、) 當(dāng)用戶選擇不同的模板時(shí),在GUI設(shè)計(jì)模板界面的右邊就會(huì)顯示出與該模板對(duì)應(yīng)的GUI圖形。可視化圖形用戶界面設(shè)計(jì)23Information Theory & Technology Center(ITTC) 在GUI設(shè)計(jì)模板中選中一個(gè)模板,然后單擊OK按鈕,就會(huì)顯示GUI設(shè)計(jì)窗口。選擇不同的GUI設(shè)計(jì)模式時(shí),在GUI設(shè)計(jì)窗口中顯示的結(jié)果是不一樣的。 GUI設(shè)計(jì)窗口組成部分 菜單欄 File(文件)、Edit(編輯)、View(查看)、Layout(布局)、Tools(工具)和Help(幫助) 6個(gè)菜單項(xiàng),使用其中的命令可以完成圖形用戶界面的設(shè)計(jì)操作。 工具欄 Align Objects(
27、位置調(diào)整器、對(duì)齊)、Menu Editor(菜單編輯器)、Tab Order Editor (Tab順序編輯器)、M-file Editor(M文件編輯器)、Property Inspector(屬性查看器)、Object Browser(對(duì)象瀏覽器)和Run等15個(gè)命令按鈕,通過它們可以方便地調(diào)用需要使用的GUI設(shè)計(jì)工具和實(shí)現(xiàn)有關(guān)操作。 控件工具欄 Push Button、Slider、Radio Button、Check Box、Edit Text、Static Text、Popup Menu、Listbox、Toggle Button、Axes等控件對(duì)象,它們是構(gòu)成GUI的基本元素。 圖
28、形對(duì)象設(shè)計(jì)區(qū)GUI設(shè)計(jì)窗口24Information Theory & Technology Center(ITTC)GUI設(shè)計(jì)窗口(續(xù))25Information Theory & Technology Center(ITTC) 添加控件 從控件工具欄中選擇一個(gè)對(duì)象,然后以拖拽方從控件工具欄中選擇一個(gè)對(duì)象,然后以拖拽方式在該對(duì)象設(shè)計(jì)區(qū)建立該對(duì)象式在該對(duì)象設(shè)計(jì)區(qū)建立該對(duì)象 設(shè)置屬性 雙擊該對(duì)象,就會(huì)顯示該對(duì)象的屬性編輯器。雙擊該對(duì)象,就會(huì)顯示該對(duì)象的屬性編輯器。 在選中對(duì)象的前提下,單擊鼠標(biāo)右鍵,會(huì)彈出一個(gè)快捷菜單,可以從中選擇某個(gè)子菜單進(jìn)行相應(yīng)的操作。在對(duì)象設(shè)計(jì)區(qū)右擊鼠標(biāo),會(huì)
29、顯示與圖形窗口有關(guān)的快捷菜單。GUI設(shè)計(jì)窗口的基本操作26Information Theory & Technology Center(ITTC) MATLAB的用戶界面設(shè)計(jì)工具共有5個(gè) 對(duì)象屬性查看器(Property Inspector):可查看每個(gè)對(duì)象的屬性值,也可修改設(shè)置對(duì)象的屬性值。 菜單編輯器(Menu Editor):創(chuàng)建、設(shè)計(jì)、修改下拉式菜單和快捷菜單 位置調(diào)整工具(Alignment Tool):可利用該工具左右、上下對(duì)多個(gè)對(duì)象的位置進(jìn)行調(diào)整。 對(duì)象瀏覽器(Object Browser):可觀察當(dāng)前設(shè)計(jì)階段的各個(gè)句柄圖形對(duì)象。 Tab順序編輯器(Tab Order E
30、ditor):通過該工具,設(shè)置當(dāng)用戶按下鍵盤上的Tab鍵時(shí),對(duì)象被選中的先后順序。圖形用戶界面設(shè)計(jì)工具27Information Theory & Technology Center(ITTC) 對(duì)象屬性查看器 功能: 查看每個(gè)對(duì)象的屬性值,也可以修改、設(shè)置對(duì)象的屬性值 打開方式 從GUI設(shè)計(jì)窗口工具欄上選擇Property Inspector命令按鈕, 選擇View菜單下的Property Inspector子菜單 在MATLAB命令窗口的命令行上輸入inspect對(duì)象屬性查看器28Information Theory & Technology Center(ITTC) 菜單
31、編輯器 功能 創(chuàng)建、設(shè)置、修改下拉式菜單和快捷菜單。 打開方式 從GUI設(shè)計(jì)窗口的工具欄上選擇Menu Editor命令按鈕 選擇Tools菜單下的Menu Editor子菜單菜單編輯器結(jié)構(gòu)結(jié)構(gòu)左上角左上角u第一個(gè)按鈕用于創(chuàng)建一級(jí)菜單項(xiàng),第二個(gè)第一個(gè)按鈕用于創(chuàng)建一級(jí)菜單項(xiàng),第二個(gè)按鈕用于創(chuàng)建一級(jí)菜單的子菜單;第四個(gè)與按鈕用于創(chuàng)建一級(jí)菜單的子菜單;第四個(gè)與第五個(gè)按鈕用于對(duì)選中的菜單進(jìn)行左移與右第五個(gè)按鈕用于對(duì)選中的菜單進(jìn)行左移與右移,第六與第七個(gè)按鈕用于對(duì)選中的菜單進(jìn)移,第六與第七個(gè)按鈕用于對(duì)選中的菜單進(jìn)行上移與下移,最右邊的按鈕用于刪除選中行上移與下移,最右邊的按鈕用于刪除選中的菜單。的菜單。
32、左下角左下角u第一個(gè)按鈕創(chuàng)建下拉式菜單。第二個(gè)按鈕第一個(gè)按鈕創(chuàng)建下拉式菜單。第二個(gè)按鈕創(chuàng)建創(chuàng)建Context Menu菜單。菜單。29Information Theory & Technology Center(ITTC) 位置調(diào)整工具 功能功能 對(duì)對(duì)GUI對(duì)象設(shè)計(jì)區(qū)內(nèi)的多個(gè)對(duì)象對(duì)象設(shè)計(jì)區(qū)內(nèi)的多個(gè)對(duì)象的位置進(jìn)行調(diào)整。的位置進(jìn)行調(diào)整。 打開方式打開方式 從從GUI設(shè)計(jì)窗口的工具欄上選擇設(shè)計(jì)窗口的工具欄上選擇Align Objects命令按鈕命令按鈕 選擇選擇Tools菜單下的菜單下的Align Objects菜單項(xiàng)菜單項(xiàng) 組成結(jié)構(gòu)組成結(jié)構(gòu) 第一欄是垂直方向的位置調(diào)整。第一欄是垂直方向的位
33、置調(diào)整。 第二欄是水平方向的位置調(diào)整。第二欄是水平方向的位置調(diào)整。位置調(diào)整工具30Information Theory & Technology Center(ITTC) 對(duì)象瀏覽器 功能功能 查看當(dāng)前設(shè)計(jì)階段的各查看當(dāng)前設(shè)計(jì)階段的各個(gè)句柄圖形對(duì)象。個(gè)句柄圖形對(duì)象。 打開方式打開方式 從從GUI設(shè)計(jì)窗口的工具設(shè)計(jì)窗口的工具欄上選擇欄上選擇Object Browser命令按鈕命令按鈕 選擇選擇View菜單下的菜單下的Object Browser子菜單子菜單 用鼠標(biāo)雙擊圖中的任用鼠標(biāo)雙擊圖中的任何一個(gè)對(duì)象,可以進(jìn)何一個(gè)對(duì)象,可以進(jìn)入對(duì)象的屬性查看器入對(duì)象的屬性查看器界面。界面。對(duì)象瀏覽器3
34、1Information Theory & Technology Center(ITTC) Tab順序編輯器(Tab Order Editor) 功能功能 設(shè)置用戶按鍵盤上的設(shè)置用戶按鍵盤上的Tab鍵時(shí),對(duì)象被選中鍵時(shí),對(duì)象被選中的先后順序。的先后順序。 打開方式打開方式 選擇選擇Tools菜單下的菜單下的Tab Order Editor菜單項(xiàng)菜單項(xiàng)Tab順序編輯器32Information Theory & Technology Center(ITTC) 例 利用GUI設(shè)計(jì)工具設(shè)計(jì)用戶界面 該界面包括一個(gè)用于顯示圖形的坐標(biāo)軸對(duì)象,顯示的圖形包括表面圖、網(wǎng)格圖或等高線圖。 繪制
35、圖形的功能通過3個(gè)命令按鈕來實(shí)現(xiàn),用戶通過單擊相應(yīng)的按鈕,即可繪制相應(yīng)圖形。 繪制圖形所需要的數(shù)據(jù)通過一個(gè)彈出框來選取。在彈出框中包括3個(gè)選項(xiàng),分別對(duì)應(yīng)MATLAB的數(shù)據(jù)函數(shù)peaks、membrane和用戶自定義的繪圖數(shù)據(jù)sinc,用戶可以通過選擇相應(yīng)的選項(xiàng)來載入相應(yīng)的繪圖數(shù)據(jù) 在圖形窗口缺省的菜單條上添加一個(gè)菜單項(xiàng)Select,Select下又有兩個(gè)子菜單項(xiàng)Yellow和Red,選中Yellow項(xiàng)時(shí),圖形窗口將變成黃色,選中Red項(xiàng)時(shí),圖形窗口將變成紅色??梢暬O(shè)計(jì)應(yīng)用實(shí)例33Information Theory & Technology Center(ITTC) 第一步: 打開G
36、UI設(shè)計(jì)窗口,添加有關(guān)控件對(duì)象 在在MATLAB命令窗口輸入命令命令窗口輸入命令guide,將打開,將打開GUI設(shè)計(jì)窗口。單擊設(shè)計(jì)窗口。單擊GUI設(shè)計(jì)窗口控件工具欄中的設(shè)計(jì)窗口控件工具欄中的Axes按鈕按鈕,并在圖形窗口中拖出一個(gè),并在圖形窗口中拖出一個(gè)矩形框矩形框,調(diào),調(diào)整好大小和位置。再添加整好大小和位置。再添加3個(gè)按鈕個(gè)按鈕、一個(gè)、一個(gè)靜態(tài)文靜態(tài)文本框本框和和一個(gè)彈出框一個(gè)彈出框,并調(diào)整好大小和位置。必要,并調(diào)整好大小和位置。必要時(shí)可利用位置調(diào)整工具將圖形對(duì)象對(duì)齊。時(shí)可利用位置調(diào)整工具將圖形對(duì)象對(duì)齊??梢暬O(shè)計(jì)應(yīng)用實(shí)例(續(xù))34Information Theory & Techn
37、ology Center(ITTC) 第二步: 利用屬性編輯器,設(shè)置圖形對(duì)象的屬性。 將圖形窗口的MenuBar屬性設(shè)為figure 利用屬性編輯器把3個(gè)按鈕的Position屬性的第3和第4個(gè)分量設(shè)為相同的值,以使3個(gè)按鈕寬和高都相等。3個(gè)按鈕的String屬性分別是說明文字Mesh、Surf和Contour3,F(xiàn)ontSize屬性設(shè)為10。 雙擊彈出框,打開該對(duì)象的屬性設(shè)置對(duì)話框。為了設(shè)置彈出框的String屬性,單擊String屬性名后面的圖標(biāo),然后在打開的文本編輯器中輸入3個(gè)選項(xiàng):peaks、membrane、sinc。注意,每行輸入一個(gè)選項(xiàng)。 將靜態(tài)文本框的String屬性設(shè)置為Ch
38、oose Data of Graphics??梢暬O(shè)計(jì)應(yīng)用實(shí)例(續(xù))35Information Theory & Technology Center(ITTC) 第三步: 編寫代碼,實(shí)現(xiàn)控件功能。 如果實(shí)現(xiàn)代碼較為簡單,可以直接修改控件的Callback屬性。對(duì)于較為復(fù)雜的程序代碼,最好還是編寫M文件。右鍵單擊任一圖形對(duì)象,在彈出的快捷菜單中選擇View Callbacks,再選Callback子菜單,將自動(dòng)打開一個(gè)M文件,這時(shí)可以在各控件的回調(diào)函數(shù)區(qū)輸入相應(yīng)的程序代碼。本例需要添加的代碼如下(注釋部分和函數(shù)引導(dǎo)行是系統(tǒng)M文件中已有的):可視化設(shè)計(jì)應(yīng)用實(shí)例(續(xù))36Informatio
39、n Theory & Technology Center(ITTC)在打開的函數(shù)文件中,添加用于創(chuàng)建繪圖數(shù)據(jù)的代碼:function ex8_5_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles
40、 and user data (see GUIDATA)% varargin command line arguments to ex8_5 (see VARARGIN)handles.peaks=peaks(35);handles.membrane=membrane(5); % membrane函數(shù)產(chǎn)生MATLAB標(biāo)志x,y=meshgrid(-8:0.5:8);r=sqrt(x.2+y.2);sinc=sin(r)./(r+eps);handles.sinc=sinc;handles.current_data=handles.peaks;可視化設(shè)計(jì)應(yīng)用實(shí)例(續(xù))37Information
41、Theory & Technology Center(ITTC) 為Mesh按鈕編寫響應(yīng)函數(shù)代碼如下:% - Executes on button press in pushbutton1.function pushbutton1_Callback(hObject, eventdata, handles)% hObject handle to pushbutton1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles an
42、d user data (see GUIDATA)mesh(handles.current_data);可視化設(shè)計(jì)應(yīng)用實(shí)例(續(xù))38Information Theory & Technology Center(ITTC) 為Surf按鈕編寫響應(yīng)函數(shù)代碼如下: % - Executes on button press in pushbutton2. function pushbutton2_Callback(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO) % eventdata reserve
43、d - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) surf(handles.current_data);可視化設(shè)計(jì)應(yīng)用實(shí)例(續(xù))39Information Theory & Technology Center(ITTC) 為Contour3按鈕編寫響應(yīng)函數(shù)代碼如下:% - Executes on button press in pushbutton3.function pushbutton3_Callback(hObject, eventdata, handles)% hObject handle to pushbutton3 (see GCBO)% eventdata reserved - to be defined in a future version
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)三步上籃課程設(shè)計(jì)
- 微機(jī)課程設(shè)計(jì)智能窗
- 嵌入式秒表課程設(shè)計(jì)
- 優(yōu)惠活動(dòng)文案課程設(shè)計(jì)
- 整數(shù)乘以小數(shù)的課程設(shè)計(jì)
- 微商營銷課程設(shè)計(jì)
- 屋架課程設(shè)計(jì)總結(jié)
- 《二硫化鉬基復(fù)合材料的制備及其光熱性能研究》
- 《含不平衡數(shù)據(jù)復(fù)雜工業(yè)過程故障診斷方法研究》
- 《基于部分組合理論的壓型鋼板-輕骨料混凝土組合板力學(xué)性能研究》
- MOOC 行政法與行政訴訟法學(xué)-西南政法大學(xué) 中國大學(xué)慕課答案
- 無縫氣瓶檢驗(yàn)作業(yè)指導(dǎo)書2024
- 綜合英語智慧樹知到期末考試答案2024年
- 2024年天津市專業(yè)技術(shù)人員繼續(xù)教育公需課考試題+答案 (四套全)
- 煤礦帶式輸送機(jī)保護(hù)裝置安裝試驗(yàn)規(guī)定
- (全新)中職單招機(jī)械類技能考試復(fù)習(xí)試題庫(含答案)
- 2022新《安全生產(chǎn)法》考試題庫(含答案)
- 技術(shù)售后人員年終總結(jié)
- MOOC 城市生態(tài)學(xué)-華東師范大學(xué) 中國大學(xué)慕課答案
- 介紹美國醫(yī)療制度問題
- (2024年)《豆芽發(fā)芽生長過程觀察》ppt文檔全文預(yù)覽
評(píng)論
0/150
提交評(píng)論