Matlab圖形用戶界面(GUI)制作_第1頁
Matlab圖形用戶界面(GUI)制作_第2頁
Matlab圖形用戶界面(GUI)制作_第3頁
Matlab圖形用戶界面(GUI)制作_第4頁
Matlab圖形用戶界面(GUI)制作_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University2022-6-10 圖形用戶界面圖形用戶界面(GUI)制作制作 教學(xué)目標(biāo)教學(xué)目標(biāo) 了解圖形用戶界面的一般結(jié)構(gòu)和功能;了解圖形用戶界面的一般結(jié)構(gòu)和功能; 掌握?qǐng)D形用戶界面的設(shè)計(jì)原則掌握?qǐng)D形用戶界面的設(shè)計(jì)原則,設(shè)計(jì)工具設(shè)計(jì)工具,界面菜單界面菜單,用戶控件。用戶控件。 MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖

2、形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University2022-6-10 教學(xué)過程教學(xué)過程1 1圖形用戶界面概述圖形用戶界面概述2 2界面菜單界面菜單3 3用戶控件用戶控件4 4圖形用戶界面設(shè)計(jì)工具圖形用戶界面設(shè)計(jì)工具 MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineering

3、Shenyang Agricultural University2022-6-109.1 圖形用戶界面概述圖形用戶界面概述 用戶界面用戶界面: 用戶與計(jì)算機(jī)或計(jì)算機(jī)程序的接觸點(diǎn)或交互用戶與計(jì)算機(jī)或計(jì)算機(jī)程序的接觸點(diǎn)或交互方式方式 圖形用戶界面圖形用戶界面 Graphical User InterfacesGraphical User Interfaces GUI GUI 是由窗口、光標(biāo)、按鍵、菜單、文字說明等對(duì)象是由窗口、光標(biāo)、按鍵、菜單、文字說明等對(duì)象(ObjectsObjects)構(gòu)成的一個(gè)用戶界面。)構(gòu)成的一個(gè)用戶界面。 MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界

4、面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University2022-6-10GUIGUI對(duì)象層次結(jié)構(gòu)對(duì)象層次結(jié)構(gòu)MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University2022-6-109.2 菜單菜單 建立菜單和子菜單建立

5、菜單和子菜單 圖形窗的標(biāo)準(zhǔn)菜單圖形窗的標(biāo)準(zhǔn)菜單 自制的用戶菜單自制的用戶菜單 現(xiàn)場菜單現(xiàn)場菜單 MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University2022-6-10建立菜單和子菜單建立菜單和子菜單 采用函數(shù)采用函數(shù)uimenu建立菜單項(xiàng)建立菜單項(xiàng) Hm_1=uimenu(Hx_parent, PropertyName ,PropertyValue,.) Hm_1-由由u

6、imenu生成的菜單項(xiàng)的句柄生成的菜單項(xiàng)的句柄uimenu對(duì)象的屬性值對(duì)象的屬性值 PropertyName ,PropertyValueHx_parent-缺省的父輩對(duì)象的句柄缺省的父輩對(duì)象的句柄MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University2022-6-10 Label 屬性值菜單條和下拉菜單項(xiàng)上的文本字符串,以確認(rèn)菜單項(xiàng)。 Callback 屬性值MATLAB

7、字符串,當(dāng)選中菜單項(xiàng)時(shí),用以執(zhí)行。 MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University2022-6-10圖形窗的標(biāo)準(zhǔn)菜單圖形窗的標(biāo)準(zhǔn)菜單 隱藏和恢復(fù)標(biāo)準(zhǔn)菜單的顯示隱藏和恢復(fù)標(biāo)準(zhǔn)菜單的顯示(1 1)獲得缺省設(shè)置的標(biāo)準(zhǔn)菜單)獲得缺省設(shè)置的標(biāo)準(zhǔn)菜單figurefigure (2 2)隱去標(biāo)準(zhǔn)菜單的兩種方法)隱去標(biāo)準(zhǔn)菜單的兩種方法 set(H_fig , MenuBar,non

8、e)set(H_fig , MenuBar,none); set(gcf,menubar,menubar);set(gcf,menubar,menubar); (3 3)恢復(fù)圖形窗上標(biāo)準(zhǔn)菜單)恢復(fù)圖形窗上標(biāo)準(zhǔn)菜單 set(gcf,menubar,figure); MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University2022-6-10自制的用戶菜單自制的用戶菜單 【例例】自

9、制一個(gè)帶下拉菜單表的用戶菜單。該菜單能使圖形窗背自制一個(gè)帶下拉菜單表的用戶菜單。該菜單能使圖形窗背景顏色設(shè)置為蘭色或紅色。景顏色設(shè)置為蘭色或紅色。 mygui002.m mygui002.m FigureFigureh_menu=uimenu(gcf,label,Color);h_menu=uimenu(gcf,label,Color);h_submenu1=uimenu(h_menu,label,Blue,callback,set(gcf,Color,blue);h_submenu1=uimenu(h_menu,label,Blue,callback,set(gcf,Color,blue);

10、h_submenu2=uimenu(h_menu,label,Red, h_submenu2=uimenu(h_menu,label,Red, callback,set(gcf,Color,red); MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University2022-6-10菜單的外觀菜單的外觀 屬性屬性: : Position , Checked , Separator M

11、ATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University2022-6-10顏色控制顏色控制 BackGroundColor BackGroundColor 屬性屬性 控制填充菜單控制填充菜單背景背景的顏色。缺省值是淺灰。的顏色。缺省值是淺灰。 另一顏色屬性為另一顏色屬性為 ForeGroundColor ForeGroundColor , 它確定菜單項(xiàng)文本的顏色,缺省值是黑色。

12、它確定菜單項(xiàng)文本的顏色,缺省值是黑色。 MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University2022-6-10回調(diào)屬性回調(diào)屬性 uimenu( Label uimenu( Label , Test Test , CallBack CallBack , grid grid onon; set(gcaset(gca, Box Box , on ) ) on ) );MATLA

13、B在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University2022-6-10 現(xiàn)場菜單現(xiàn)場菜單 【例例】繪制一條繪制一條SaSa曲線,創(chuàng)建一個(gè)與之相聯(lián)系的現(xiàn)場菜單,用以控制曲線,創(chuàng)建一個(gè)與之相聯(lián)系的現(xiàn)場菜單,用以控制SaSa曲線的顏色。曲線的顏色。mygui003.m t=(-3t=(-3* *pi:pi/50:3pi:pi/50:3* *pi)+eps;pi)+eps;y=sin(t)

14、./t;y=sin(t)./t;hline=plot(t,y);hline=plot(t,y);cm=uicontextmenu; %cm=uicontextmenu; %創(chuàng)建現(xiàn)場菜單創(chuàng)建現(xiàn)場菜單%制作具體菜單項(xiàng),定義相應(yīng)的回調(diào)制作具體菜單項(xiàng),定義相應(yīng)的回調(diào)uimenu(cm,label,Red,callback,set(hline,color,r),)uimenu(cm,label,Red,callback,set(hline,color,r),)uimenu(cm,label,Blue,callback,set(hline,color,b),)uimenu(cm,label,Blue,ca

15、llback,set(hline,color,b),)uimenu(cm,label,Green,callback,set(hline,color,g),)uimenu(cm,label,Green,callback,set(hline,color,g),)set(hline,uicontextmenu,cm) set(hline,uicontextmenu,cm) MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineering Shenyang

16、 Agricultural University2022-6-109.3 用戶控件(用戶控件(uicontrol) 按鈕按鈕 滑標(biāo)滑標(biāo) 文本框等文本框等Uicontrol由函數(shù)由函數(shù)uicontrol生成生成 Hc_1=uicontrol(Hf_fig, PropertyName ,PropertyValue,.) MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University20

17、22-6-10【例例】對(duì)于傳遞函數(shù)為的歸一化二階系統(tǒng),對(duì)于傳遞函數(shù)為的歸一化二階系統(tǒng), 制作一個(gè)能繪制該系統(tǒng)單位階躍響應(yīng)的圖形用戶界面。制作一個(gè)能繪制該系統(tǒng)單位階躍響應(yīng)的圖形用戶界面。 mygui004.m mygui004.m (1 1)產(chǎn)生圖形窗和軸位框:)產(chǎn)生圖形窗和軸位框:clf resetclf resetH=axes(unit,normalized,position,0,0,1,1,visible,off);H=axes(unit,normalized,position,0,0,1,1,visible,off);set(gcf,currentaxes,H);set(gcf,curr

18、entaxes,H);str=fontnamestr=fontname隸書隸書 歸一化二階系統(tǒng)的階躍響應(yīng)曲線歸一化二階系統(tǒng)的階躍響應(yīng)曲線; ;text(0.12,0.93,str,fontsize,13);text(0.12,0.93,str,fontsize,13);h_fig=get(H,parent);h_fig=get(H,parent);set(h_fig,unit,normalized,position,0.1,0.2,0.7,0.4);set(h_fig,unit,normalized,position,0.1,0.2,0.7,0.4);h_axes=axes(parent,h_

19、fig,.h_axes=axes(parent,h_fig,. unit,normalized,position,0.1,0.15,0.55,0.7,. unit,normalized,position,0.1,0.15,0.55,0.7,. xlim,0 15,ylim,0 1.8,fontsize,8); xlim,0 15,ylim,0 1.8,fontsize,8);1212ssGMATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineeri

20、ng Shenyang Agricultural University2022-6-10(2 2)在坐標(biāo)框右側(cè)生成作解釋用的)在坐標(biāo)框右側(cè)生成作解釋用的“靜態(tài)文本靜態(tài)文本”和可接受輸入的和可接受輸入的“編輯編輯框框”: h_text=uicontrol(h_fig,style,text,. unit,normalized,position,0.67,0.73,0.25,0.14,. horizontal,left,string,輸入阻尼比系數(shù),zeta =);h_edit=uicontrol(h_fig,style,edit,. unit,normalized,position,0.67,0.

21、59,0.25,0.14,. horizontal,left,. callback,. z=str2num(get(gcbo,string);,. t=0:0.1:15;,. for k=1:length(z);,. s2=tf(1,1 2*z(k) 1); ,. y(:,k)=step(s2,t);,. plot(t,y(:,k);,. if (length(z)1) ,hold on,end,. end;, hold off,);MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information

22、 & Electrical Engineering Shenyang Agricultural University2022-6-10(3)形成坐標(biāo)方格控制按鍵)形成坐標(biāo)方格控制按鍵h_push1=uicontrol(h_fig,style,push,. unit,normalized,position,0.67,0.37,0.12,0.15,. string,grid on,callback,grid on);h_push2=uicontrol(h_fig,style,push,. unit,normalized,position,0.67,0.15,0.12,0.15,. string,g

23、rid off,callback,grid off);MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University2022-6-10(4 4)輸入阻尼比系數(shù),可得單位階躍響應(yīng)曲線)輸入阻尼比系數(shù),可得單位階躍響應(yīng)曲線 MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information

24、& Electrical Engineering Shenyang Agricultural University2022-6-109.4 圖形用戶界面設(shè)計(jì)工具圖形用戶界面設(shè)計(jì)工具 MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University2022-6-101 啟動(dòng)啟動(dòng)GUI 命令窗口中輸入命令窗口中輸入guide命令。命令。MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九

25、章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University2022-6-102 布局布局(Layout)編輯器編輯器 當(dāng)用戶在當(dāng)用戶在GUIDE 中打開一個(gè)中打開一個(gè)GUI時(shí),該時(shí),該GUI將顯示在將顯示在 Layout編輯器中,編輯器中,Layout編輯器是所有編輯器是所有GUIDE工具的控制面板。工具的控制面板。 MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WA

26、NG College of Information & Electrical Engineering Shenyang Agricultural University2022-6-10布局布局(Layout)編輯器編輯器 用戶可以使用鼠標(biāo)拖動(dòng)模板左邊的控件用戶可以使用鼠標(biāo)拖動(dòng)模板左邊的控件(按鈕、坐標(biāo)軸、單選按鈕等按鈕、坐標(biāo)軸、單選按鈕等)到中間到中間的布局區(qū)域的布局區(qū)域 。 MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineering She

27、nyang Agricultural University2022-6-103 GUIDE模板介紹模板介紹 GUIDE Quick Start對(duì)話框提供了幾種常用的對(duì)話框提供了幾種常用的GUI模板模板 。MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University2022-6-104 運(yùn)行運(yùn)行GUI 單擊工具欄最右邊的綠色按鈕,即運(yùn)行當(dāng)前的單擊工具欄最右邊的綠色按鈕,即運(yùn)行當(dāng)前的

28、GUI窗口。窗口。 MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University2022-6-105 創(chuàng)建創(chuàng)建GUI對(duì)象對(duì)象 GUI窗口的布局窗口的布局 改變改變GUI窗口的大小窗口的大小 控件的添加和對(duì)齊控件的添加和對(duì)齊 GUI控件的屬性控制控件的屬性控制 屬性查看器的顯示屬性查看器的顯示 一些常用的屬性一些常用的屬性 菜單的添加菜單的添加 主菜單的創(chuàng)建主菜單的創(chuàng)建 彈出式菜單

29、的的創(chuàng)建彈出式菜單的的創(chuàng)建 MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University2022-6-10(1)GUI窗口的布局窗口的布局 改變改變GUI窗口的大小窗口的大小 。 單擊網(wǎng)格區(qū)域的右下角,單擊網(wǎng)格區(qū)域的右下角,當(dāng)鼠標(biāo)變?yōu)榧^形式時(shí),當(dāng)鼠標(biāo)變?yōu)榧^形式時(shí),拖動(dòng)鼠標(biāo),即可適時(shí)改拖動(dòng)鼠標(biāo),即可適時(shí)改變窗口的大小變窗口的大小 。MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九

30、章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University2022-6-10(2)GUI控件的屬性控制控件的屬性控制 屬性查看器的顯示屬性查看器的顯示 用戶可以使用如下用戶可以使用如下3種方種方式打開:式打開: 在布局窗口中雙擊某個(gè)控在布局窗口中雙擊某個(gè)控件。件。 在在View 菜單中選擇菜單中選擇Property Inspector選項(xiàng)。選項(xiàng)。 右擊某個(gè)控件并從彈出的右擊某個(gè)控件并從彈出的快捷菜單中選擇快捷菜單中選擇In

31、spect Properties選項(xiàng)。選項(xiàng)。MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University2022-6-10(3)主菜單的創(chuàng)建)主菜單的創(chuàng)建1 菜單屬性的設(shè)置菜單屬性的設(shè)置 單擊右圖中的菜單標(biāo)單擊右圖中的菜單標(biāo)題題Untitled 1,將在菜,將在菜單編輯器的右邊顯示單編輯器的右邊顯示該菜單的屬性提供給該菜單的屬性提供給用戶進(jìn)行編輯,如用戶進(jìn)行編輯,如Label、T

32、ag、Accelerator、Separator和和Checked等屬性。等屬性。 MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University2022-6-10(3)主菜單的創(chuàng)建)主菜單的創(chuàng)建2 給菜單增添菜單項(xiàng)給菜單增添菜單項(xiàng) 用戶可以使用工具欄用戶可以使用工具欄上的上的New Menu Item圖標(biāo)給當(dāng)前菜單增添圖標(biāo)給當(dāng)前菜單增添菜單項(xiàng)菜單項(xiàng) 。 MATLAB在工程中的應(yīng)用

33、在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University2022-6-106. GUI 編編 程程 GUI的的M文件文件 與句柄結(jié)構(gòu)共享數(shù)據(jù)與句柄結(jié)構(gòu)共享數(shù)據(jù) M文件中的函數(shù)和響應(yīng)文件中的函數(shù)和響應(yīng) 控件的使用控件的使用 使用句柄結(jié)構(gòu)進(jìn)行使用句柄結(jié)構(gòu)進(jìn)行GUI數(shù)據(jù)操作數(shù)據(jù)操作 MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG Coll

34、ege of Information & Electrical Engineering Shenyang Agricultural University2022-6-10(1)與句柄結(jié)構(gòu)共享數(shù)據(jù))與句柄結(jié)構(gòu)共享數(shù)據(jù) 當(dāng)運(yùn)行當(dāng)運(yùn)行GUI時(shí),時(shí),M文件創(chuàng)建一個(gè)包含所有文件創(chuàng)建一個(gè)包含所有GUI對(duì)象對(duì)象(如控件、菜單和坐標(biāo)軸如控件、菜單和坐標(biāo)軸)的句柄結(jié)的句柄結(jié)構(gòu),句柄結(jié)構(gòu)作為一個(gè)每個(gè)響應(yīng)的輸入來構(gòu),句柄結(jié)構(gòu)作為一個(gè)每個(gè)響應(yīng)的輸入來處理。用戶使用句柄結(jié)構(gòu)可以實(shí)現(xiàn)如下操處理。用戶使用句柄結(jié)構(gòu)可以實(shí)現(xiàn)如下操作。作。 在各響應(yīng)之間實(shí)現(xiàn)數(shù)據(jù)共享;在各響應(yīng)之間實(shí)現(xiàn)數(shù)據(jù)共享; 訪問訪問GUI數(shù)據(jù)。數(shù)據(jù)。MATL

35、AB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University2022-6-10在各響應(yīng)之間實(shí)現(xiàn)數(shù)據(jù)共享在各響應(yīng)之間實(shí)現(xiàn)數(shù)據(jù)共享 用戶欲取得變量用戶欲取得變量X的數(shù)據(jù),可以先將句柄結(jié)的數(shù)據(jù),可以先將句柄結(jié)構(gòu)的一個(gè)域設(shè)為構(gòu)的一個(gè)域設(shè)為X,然后在使用,然后在使用guidata函數(shù)函數(shù)保存該句柄結(jié)構(gòu),如下所示:保存該句柄結(jié)構(gòu),如下所示: handles.current_data = X; gui

36、data(hObject,handles) 用戶可以在其他任何響應(yīng)中重新得到該變量用戶可以在其他任何響應(yīng)中重新得到該變量的值,使用的操作如下。的值,使用的操作如下。 X = handles.current_data;MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University2022-6-10(2) M文件中的函數(shù)和響應(yīng)文件中的函數(shù)和響應(yīng) 用戶可以給用戶可以給GUI的的M文件的如

37、下部分增文件的如下部分增加程序代碼:加程序代碼: 打開函數(shù)打開函數(shù)(Opening function),該函數(shù)在,該函數(shù)在GUI可見之前實(shí)施操作??梢娭皩?shí)施操作。 輸出函數(shù)輸出函數(shù)(Output function),在必要的時(shí)候,在必要的時(shí)候向命令行輸出數(shù)據(jù)。向命令行輸出數(shù)據(jù)。 響應(yīng)響應(yīng)(Callbacks),在用戶激活,在用戶激活GUI中的相應(yīng)中的相應(yīng)控件時(shí)實(shí)施操作??丶r(shí)實(shí)施操作。MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineerin

38、g Shenyang Agricultural University2022-6-10打開函數(shù)打開函數(shù) 打開函數(shù)包含有在打開函數(shù)包含有在GUI可見之前進(jìn)行操作的代碼,用戶可可見之前進(jìn)行操作的代碼,用戶可以在打開函數(shù)中訪問以在打開函數(shù)中訪問GUI的所有控件,因?yàn)樗械乃锌丶?,因?yàn)樗蠨UI中的中的對(duì)象都在調(diào)用打開函數(shù)之前就已經(jīng)創(chuàng)建。對(duì)象都在調(diào)用打開函數(shù)之前就已經(jīng)創(chuàng)建。 如果用戶需要在訪問如果用戶需要在訪問GUI之前實(shí)現(xiàn)某些操作之前實(shí)現(xiàn)某些操作(如創(chuàng)建數(shù)據(jù)如創(chuàng)建數(shù)據(jù)或圖形或圖形),那么可以通過在打開函數(shù)中增添代碼來加以實(shí),那么可以通過在打開函數(shù)中增添代碼來加以實(shí)現(xiàn)?,F(xiàn)。 對(duì)于一個(gè)文件名為對(duì)于一個(gè)

39、文件名為my_gui的的GUI來說,它的打開函數(shù)來說,它的打開函數(shù)的定義語句如下。的定義語句如下。 function my_gui_OpeningFcn(hObject, eventdata, handles, varargin)MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University2022-6-10輸出函數(shù)輸出函數(shù) 輸出函數(shù)將輸出結(jié)果返回給命令行。輸出函數(shù)將輸出結(jié)果返回給

40、命令行。 在用戶需要將某個(gè)變量傳遞給另一個(gè)在用戶需要將某個(gè)變量傳遞給另一個(gè)GUI時(shí)尤其實(shí)時(shí)尤其實(shí)用。用。 UIDE在輸出函數(shù)中生成如下代碼。在輸出函數(shù)中生成如下代碼。 % - Outputs from this function are returned to the command line. function varargout = my_gui_OutputFcn(hObject, eventdata, handles) % Get default command line output from handles structure varargout1 = handles.output

41、;MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University2022-6-10 (3)控件的使用)控件的使用 “開關(guān)開關(guān)”按鈕按鈕(Toggle Button) 按鈕按鈕(Radio Buttons) “復(fù)選框復(fù)選框”控件控件(Check Boxes) “文本框文本框”控件控件(Edit Text) “滾動(dòng)條滾動(dòng)條”控件控件(Sliders) “列表框列表框”控件控件(List

42、 Boxes) “彈出菜單彈出菜單”控件控件(Pop-Up Menus) 控件板控件板(Panels)MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University2022-6-10控件的使用舉例控件的使用舉例1 按鈕按鈕(Radio Buttons)的響應(yīng)的響應(yīng) 在圖形界面中添加該控件之后,該控件將在指定位置添加按鈕,在圖形界面中添加該控件之后,該控件將在指定位置添加按鈕,按鈕的

43、標(biāo)識(shí)字符由屬性按鈕的標(biāo)識(shí)字符由屬性String控制,而返回值由控制,而返回值由Value值控制。值控制。 在在GUI的的M文件中使用如下形式的代碼來編制文件中使用如下形式的代碼來編制Radio按鈕的響應(yīng)程按鈕的響應(yīng)程序:序: if (get(hObject,Value) = get(hObject,Max) % then rsdio button is selected-take approriate action else % radio button is not selected-take approriate action endMATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章

44、圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University2022-6-10控件的使用舉例控件的使用舉例2 “復(fù)選框復(fù)選框”控件控件(Check Boxes)的響應(yīng)的響應(yīng) 在圖形界面中添加該控件之后,該控件將提供復(fù)選功能,將顯示在圖形界面中添加該控件之后,該控件將提供復(fù)選功能,將顯示文本字符串及選擇框文本字符串及選擇框 。 在在GUI的的M文件中使用如下形式的代碼來編制文件中使用如下形式的代碼來編制“復(fù)選框復(fù)選框”控件的控件的響應(yīng)程

45、序響應(yīng)程序 : function checkbox1_Callback(hObject, eventdata, handles) if (get(hObject,Value) = get(hObject,Max) % then checkbox is checked-take approriate action else % checkbox is not checked-take approriate action endMATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & El

46、ectrical Engineering Shenyang Agricultural University2022-6-10控件的使用舉例控件的使用舉例3 “文本框文本框”控件控件(Edit Text)的響應(yīng)的響應(yīng) 在圖形界面中添加該控件之后,該控件的屬性相當(dāng)于其他語言設(shè)在圖形界面中添加該控件之后,該控件的屬性相當(dāng)于其他語言設(shè)計(jì)中的文本框?qū)傩?,允許用戶動(dòng)態(tài)地編輯或是輸入文本字符串。計(jì)中的文本框?qū)傩?,允許用戶動(dòng)態(tài)地編輯或是輸入文本字符串。 如果需要獲取用戶在文本框中輸入的字符串,可以在響應(yīng)程序中如果需要獲取用戶在文本框中輸入的字符串,可以在響應(yīng)程序中輸入如下代碼:輸入如下代碼: function

47、 edittext1_Callback(hObject, eventdata, handles) user_string = get(hObject,string); % proceed with callback.MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University2022-6-10(4)使用句柄結(jié)構(gòu)進(jìn)行)使用句柄結(jié)構(gòu)進(jìn)行GUI數(shù)據(jù)操作數(shù)據(jù)操作 GUIDE提供了一種機(jī)制

48、來存儲(chǔ)和檢索共享的數(shù)提供了一種機(jī)制來存儲(chǔ)和檢索共享的數(shù)據(jù),這些操作都通過包含有據(jù),這些操作都通過包含有GUI控件句柄的相控件句柄的相同結(jié)構(gòu)來實(shí)現(xiàn),這種機(jī)制就稱為句柄結(jié)構(gòu)。同結(jié)構(gòu)來實(shí)現(xiàn),這種機(jī)制就稱為句柄結(jié)構(gòu)。 句柄結(jié)構(gòu)包含有句柄結(jié)構(gòu)包含有GUI的所有控件的句柄,它在的所有控件的句柄,它在M文件中被傳遞給每一個(gè)響應(yīng)。因此,該響應(yīng)文件中被傳遞給每一個(gè)響應(yīng)。因此,該響應(yīng)對(duì)保存任意共享數(shù)據(jù)十分有用。對(duì)保存任意共享數(shù)據(jù)十分有用。MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Elect

49、rical Engineering Shenyang Agricultural University2022-6-10Creating Graphical User InterfacesCreating Graphical User Interfaces Open a New GUI in the Layout EditorOpen a New GUI in the Layout Editor Set the GUI Figure SizeSet the GUI Figure Size Select Property Inspector from the View menu.Select Pr

50、operty Inspector from the View menu. Reset the Units property to characters.Reset the Units property to characters. Add the ComponentsAdd the ComponentsAdd the panel and push buttons to the GUI. (A panel Three push buttons)Add the panel and push buttons to the GUI. (A panel Three push buttons)7. exa

51、mple MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University2022-6-10Add the remaining components to the GUI. (A static text A pop-up menu An Add the remaining components to the GUI. (A static text A pop-up menu An a

52、xes)axes) MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University2022-6-10Align the ComponentsAlign the Components MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engine

53、ering Shenyang Agricultural University2022-6-10Setting Properties for GUI ComponentsSetting Properties for GUI Components In the field next to Name, type Simple GUI,In the field next to Name, type Simple GUI, MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electri

54、cal Engineering Shenyang Agricultural University2022-6-10A panels Title property controls the title that appears at the top or bottom of the A panels Title property controls the title that appears at the top or bottom of the panel.panel.In the field to the right of Title, change Panel to Plot Types.

55、In the field to the right of Title, change Panel to Plot Types.String Property for Push Buttons and Static TextString Property for Push Buttons and Static Textselect the push button in the Layout Editor and then, in the Property Inspector, select the push button in the Layout Editor and then, in the

56、 Property Inspector, come to String. In the field to the right of String, change Push Button to Surf,come to String. In the field to the right of String, change Push Button to Surf,Similarly, change the String property of the middle push button to Mesh, the bottom Similarly, change the String proper

57、ty of the middle push button to Mesh, the bottom push button to Contour, and the Static Text to Select Data.push button to Contour, and the Static Text to Select Data.String Property for Pop-Up MenusString Property for Pop-Up MenusA pop-up menus String property controls the list of menu items. A pop

58、-up menus String property controls the list of menu items. click the icon next to Stringclick the icon next to Stringopens the String property edit box. Delete Pop-up Menu in the String property edit opens the String property edit box. Delete Pop-up Menu in the String property edit box, and type pea

59、ks, membrane, and sinc on three separate linesbox, and type peaks, membrane, and sinc on three separate lines MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(GUI)制作制作L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University2022-6-10MATLAB在工程中的應(yīng)用在工程中的應(yīng)用 第九章第九章 圖形用戶界面圖形用戶界面(G

60、UI)制作制作L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University2022-6-10Callback PropertiesCallback PropertiesThe Opening FunctionThe Opening Function Note that GUIDE names the opening function with the name of the M-file Note that GUIDE names the opening function w

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論