版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、19修改自百度文庫_NUPT 王下邀月熊MATLAB GUI 編程-GUIDE2一、MATLAB GUIDE基本操作21.運(yùn)行GUIDE22.創(chuàng)建新的GUI23.打開已保存的文件34.GUI編輯界面組成45.屬性查看器56.GUI的M文件67.實(shí)例7二、MATLAB GUI基礎(chǔ)知識101.控件種類102.控件的四個(gè)重要屬性113.控件的其他常用屬性114.回調(diào)函數(shù)125.Callback程序12三、MATLAB GUI Callback程序基本操作121.圖形對象122.MATLAB圖形對象句柄133.圖形對象屬性134.Callback程序基本操作14四、MATLAB GUIDE 數(shù)據(jù)傳遞機(jī)
2、制141.GUIDE的函數(shù)142.GUIDE的參數(shù)153.兩個(gè)重要的結(jié)構(gòu)數(shù)組154. MATLAB GUIDE中數(shù)據(jù)155. MATLAB GUIDE數(shù)據(jù)訪問機(jī)制156.GUIDE 數(shù)據(jù)傳遞機(jī)制167.實(shí)例一:編輯框數(shù)據(jù)獲得在按鈕控件中調(diào)用168.實(shí)例二:彈出框選項(xiàng)獲得與程序控制17五、部分控件說明1819MATLAB GUI 編程-GUIDE 一、MATLAB GUIDE基本操作GUIDE是MATLAB圖形用戶接口開發(fā)環(huán)境(Graphical User Interface Development Environment)的簡稱,它提供了一系列工具用于建立GUI對象。這些工具極大簡化了設(shè)計(jì)和創(chuàng)
3、建GUI的過程。使用GUI可以完成兩項(xiàng)工作:(1)GUI圖形界面布局;(2)GUI編程。1.運(yùn)行GUIDE有三種方法可以啟動(dòng)GUIDE:(1)在命令行輸入: guide(2)單擊MATLAB主窗口的 (GUIDE)按鈕;(3)單擊MATLAB主窗口【Start】按鈕,出現(xiàn)彈出菜單,在主程序組【MATLAB】中選擇“GUIDE(GUI Builder)”選擇項(xiàng)。以上三種方法均:生成GUIDE快速啟動(dòng)對話框,如圖所示。2.創(chuàng)建新的GUI創(chuàng)建新的GUI時(shí),樣板可以選擇以下4種:(1)Blank GUI 一個(gè)空的樣板;(2)GUI with Uicontrols 打開包含一些uicontrol對象的G
4、UI編輯器;(3)GUI with Axes and Menu 打開包含菜單和一些坐標(biāo)軸圖形對象的GUI編輯器;(4)Modal Question Dialog 打開一個(gè)對話框編輯器,默認(rèn)為一個(gè)問題對話框。一般采用Blank GUI樣板。單擊OK按鈕后,進(jìn)入GUI編輯界面,如圖所示。3.打開已保存的文件在快速啟動(dòng)對話框中選擇打開已經(jīng)存在的GUI時(shí),可通過瀏覽的方式找到本地磁盤上的用戶GUI文件,或在已打開過的列表中直接選擇要打開的文件。如圖所示。4.GUI編輯界面組成GUI編輯界面主要包括3部分:GUI對象選擇區(qū)、GUI工具欄和GUI布局區(qū)。下面分別介紹這3個(gè)部分。(1)GUI對象選擇區(qū)打開【
5、File】|【Preferences.】|GUIDE,勾選show name in component palette,則在編輯界面顯示GUI對象名稱,如圖所示。(2)GUI工具欄GUI工具欄主要由對齊對象、菜單編輯器、Tab順序編輯器、M文件編輯器、屬性查看器、對象瀏覽器和運(yùn)行界面組成。(3)GUI布局區(qū)GUI布局區(qū)用于布局GUI對象。在布局區(qū)單擊鼠標(biāo)右鍵,彈出的菜單如圖所示。5.屬性查看器屬性查看器用來查看、設(shè)置或修改對象的屬性,是GUI編輯器的主要功能。調(diào)用對象屬性查看器有四種方法:(1)在對象上雙擊;(2)在對象上右擊,選擇Property Inspector;(3)選中對象后,單擊工
6、具欄上的 (Property Inspector)按鈕;(4)菜單欄選擇:【View】|Property Inspecto。如下圖所示為pushbutton1按鈕對象的屬性。6.GUI的M文件創(chuàng)建一個(gè)用戶界面應(yīng)用程序,缺省有兩個(gè)文件組織,*.fig和*.m。均由MATLAB的GUIDE工具自動(dòng)生成,其中自動(dòng)生成的M文件,控制并決定GUI對用戶操作的響應(yīng)。它包含運(yùn)行GUI所需要的所有代碼。GUIDE自動(dòng)生成M文件的框架,用戶在該框架下編寫GUI組件的回調(diào)函數(shù)。M文件由一系列子函數(shù)構(gòu)成,包含主函數(shù)、Opening函數(shù)、Output函數(shù)和回調(diào)函數(shù)。其中主函數(shù)不能修改,否則容易導(dǎo)致GUI界面初始化失敗
7、。7.實(shí)例例如,新建一個(gè)文件名為abc的GUI,并在界面上建一個(gè)按鈕,點(diǎn)擊該按鈕,則繪出以下圖形,界面和其對應(yīng)的M文件如下:function varargout = abc(varargin)% ABC M-file for abc.fig% ABC, by itself, creates a new ABC or raises the existing% singleton*.% H = ABC returns the handle to a new ABC or the handle to% the existing singleton*.% ABC(CALLBACK,hObject,ev
8、entData,handles,.) calls the local% function named CALLBACK in ABC.M with the given input arguments.% ABC(Property,Value,.) creates a new ABC or raises the% existing singleton*. Starting from the left, property value pairs are% applied to the GUI before abc_OpeningFcn gets called. An% unrecognized p
9、roperty name or invalid value makes property application% stop. All inputs are passed to abc_OpeningFcn via varargin.% *See GUI Options on GUIDEs Tools menu. Choose GUI allows only one% instance to run (singleton).% See also: GUIDE, GUIDATA, GUIHANDLES% Edit the above text to modify the response to
10、help abc% Last Modified by GUIDE v2.5 30-Mar-2010 13:22:20% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct(gui_Name, mfilename, . gui_Singleton, gui_Singleton, . gui_OpeningFcn, abc_OpeningFcn, . gui_OutputFcn, abc_OutputFcn, . gui_LayoutFcn, , . gui_Callback, );if nargi
11、n & ischar(varargin1) gui_State.gui_Callback = str2func(varargin1);endif nargout varargout1:nargout = gui_mainfcn(gui_State, varargin:);else gui_mainfcn(gui_State, varargin:);end% End initialization code - DO NOT EDIT% - Executes just before abc is made visible.function abc_OpeningFcn(hObject, event
12、data, 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 and user data (see GUIDATA)% varargin command line arguments to abc (see VARARGIN)% Choose default co
13、mmand line output for abchandles.output = hObject;% Update handles structureguidata(hObject, handles);% UIWAIT makes abc wait for user response (see UIRESUME)% uiwait(handles.figure1);% - Outputs from this function are returned to the command line.function varargout = abc_OutputFcn(hObject, eventdat
14、a, handles) % varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Get default command line output from handles structurevarargout1 = ha
15、ndles.output;% - Executes on button press in pushbutton2.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 and user data (see GUIDATA)figuret=0:0.1:2*p
16、i;plot(t,sin(t),-,t,cos(t)legend(正弦,余弦,Location,Best)二、MATLAB GUI基礎(chǔ)知識用戶界面(或接口)是指:人與機(jī)器(或程序)之間交互作用的工具和方法。如鍵盤、鼠標(biāo)都可成為與計(jì)算機(jī)交換信息的接口。 圖形用戶界面(Graphical User Interfaces ,GUI)則是由窗口、光標(biāo)、按鍵、菜單、文字說明等對象(Objects)構(gòu)成的一個(gè)用戶界面。用戶通過一定的方法(如鼠標(biāo)或鍵盤)選擇、激活這些圖形對象,使計(jì)算機(jī)產(chǎn)生某種動(dòng)作或變化,比如實(shí)現(xiàn)計(jì)算、繪圖等。 假如讀者所從事的數(shù)據(jù)分析、解方程、計(jì)算結(jié)果可視工作比較單一,那么一般不會考慮GU
17、I的制作。但是如果讀者想向別人提供應(yīng)用程序,想進(jìn)行某種技術(shù)、方法的演示,想制作一個(gè)供反復(fù)使用且操作簡單的專用工具,那么圖形用戶界面也許是最好的選擇之一。也是體現(xiàn)用戶綜合運(yùn)用MATLAB的能力。1.控件種類GUI首先是一個(gè)窗口(對話框),窗口上除菜單外(菜單專門介紹),控件是一種實(shí)現(xiàn)用戶與計(jì)算機(jī)交互的主要途徑,利用這些控件可以實(shí)現(xiàn)有關(guān)控制。這些控件名稱如下:(1)按鈕(Push Button)(2)雙位按鈕(Toggle Button)(3)單選按鈕(Radio Button)(4)復(fù)選框(Check Box)(5)列表框(List Box)(6)彈出框(Popup Menu)(7)編輯框(Ed
18、it Box)(8)滑動(dòng)條(Slider)(9)靜態(tài)文本(Static Text)(10)邊框(Frame)2.控件的四個(gè)重要屬性控件有四個(gè)重要屬性,它們是:style 、callback、string 和position。(1)style 控件類型。在MATLAB中,控件使用統(tǒng)一函數(shù)創(chuàng)建,即uicontrol,控件類型用于區(qū)分不同類型的控件。在GUIDE中,該屬性自動(dòng)設(shè)置。(2)callback 回調(diào)函數(shù)。即單擊或雙擊一個(gè)控件要執(zhí)行的回調(diào)命令,其默認(rèn)為%automatic,不做修改,這個(gè)Callback就會自動(dòng)指向M文件編輯器里的函數(shù)體內(nèi)。(3)string 控件名稱。即字符串變量,用來說明
19、控件的功能或作用,提示用戶選擇相應(yīng)操作;在編輯框控件中,用來設(shè)置初值;(4)posion 位置。標(biāo)識控件在當(dāng)前窗口中所處的位置,以數(shù)組的形式表述,即a,b,c,d。其中a,b代表控件左下角起始位置,c,d代表控件大小。3.控件的其他常用屬性(1)unit 屏幕單位。共有六種,它們是英寸(inches)、厘米(centimeters)、歸一化(normalized)、點(diǎn)(points)、像素(pixels)和字符(characters),其中像素是缺省單位。使用較方便的是歸一化單位,即屏幕(或窗口)左下角為(0,0),右上角為(1,1)。(2)fontsize 字體大小??丶Q字符串字體大小設(shè)
20、置,同unit屬性一樣,一般定義整個(gè)窗口為統(tǒng)一的缺省設(shè)置值。(3)value 控件的值。在單選按鈕中,設(shè)置“1”表示選中,設(shè)置“0”表示非選中,且只能有1個(gè)處于選中狀態(tài);(4)max,min 最大值與最小值。在滑動(dòng)條控件中,用來設(shè)置滑動(dòng)值范圍;(5)sliderstep 步長。在滑動(dòng)條控件中,用來設(shè)置點(diǎn)擊滑動(dòng)條兩端的小尖頭或點(diǎn)擊滑動(dòng)區(qū)域滑動(dòng)條滑動(dòng)的距離。4.回調(diào)函數(shù)用戶對控件進(jìn)行操作(如鼠標(biāo)單擊、雙擊或移動(dòng),鍵盤輸入等)的時(shí)候,控件對該操作進(jìn)行響應(yīng),所指定執(zhí)行的函數(shù),就是該控件的回調(diào)函數(shù),也稱callback函數(shù)。該函數(shù)不會主動(dòng)執(zhí)行,只在用戶對控件執(zhí)行特定操作時(shí)執(zhí)行。采用函數(shù)編寫的GUI中,控
21、件回調(diào)屬性的值一般為字符串單元數(shù)組,每個(gè)單元均為一條MATLAB語句(指令),語句按單元順序排列。每條MATLAB語句用單引號引起來,語句本身含有的單引號改為兩個(gè)單引號。采用GUIDE創(chuàng)建的GUI中,控件回調(diào)函數(shù)指令可直接放在該對應(yīng)控件的函數(shù)中,指令寫法與命令行一致。5.Callback程序若要在M文件編輯器里編寫Callback程序,那么屬性檢查器里的Callback則不能作任何修改,默認(rèn)為%automatic,也就是當(dāng)用戶將GUI存儲并打開M文件編輯器后,這個(gè)Callback就會自動(dòng)指向M文件編輯器里的Callback函數(shù),如在上一篇博文提到的示例,“按鈕”的Callback函數(shù)中包含了四
22、行指令,點(diǎn)擊(激動(dòng))該按鈕,則會立即執(zhí)行該四行命令,繪出圖形。function pushbutton1_Callback(hObject, eventdata, handles)figuret=0:0.1:2*pi;plot(t,sin(t),-,t,cos(t)legend(正弦,余弦,Location,Best)三、MATLAB GUI Callback程序基本操作Callback是控件回調(diào)函數(shù)的一種屬性,用戶對控件進(jìn)行操作的時(shí)候,控件對該操作進(jìn)行響應(yīng),所指定執(zhí)行的函數(shù),就是該控件的回調(diào)函數(shù),也稱callback函數(shù)。一般情況下,該函數(shù)包含一組命令,即一段程序。而在該程序中,通常首先要獲取
23、界面上的各控件的值,如:編輯框中輸入的內(nèi)容或單選框是選擇哪個(gè)選項(xiàng)等,相當(dāng)于一般計(jì)算機(jī)語言程序開頭部分的賦值語句,而后面的計(jì)算分析等語句,包括分支、循環(huán)等控制,同一般程序編寫方法并無差別,所以,以下主要介紹GUI界面中數(shù)據(jù)的獲取方法。1.圖形對象MATLAB的圖形對象包括計(jì)算機(jī)屏幕、圖形窗口、坐標(biāo)軸、用戶菜單、用戶控件、曲線、曲面、文字、圖像、光源、區(qū)域塊和方框等。系統(tǒng)將每一個(gè)對象按樹型結(jié)構(gòu)組織起來。即:根:圖形對象的根,對應(yīng)于計(jì)算機(jī)屏幕,根只有一個(gè),其它所有圖形對象都是根的后代。圖形窗口: 根的子代,窗口的數(shù)目不限,所有圖形窗口都是根屏幕的子代,除根之外,其它對象則是窗的后代。界面控制:圖形窗
24、口的子代,創(chuàng)建用戶界面控制對象,使得用戶可采用鼠標(biāo)在圖形上作功能選擇,并返回句柄。界面菜單: 圖形窗口的子代,創(chuàng)建用戶界面菜單對象。 軸:圖形窗口的子代,創(chuàng)建軸對象,并返回句柄,線面字塊像的父輩。線:軸的子代,創(chuàng)建線對象。面:軸的子代,創(chuàng)建塊對象。字:軸的子代,創(chuàng)建字對象。塊:軸的子代,創(chuàng)建塊對象。像:軸的子代,創(chuàng)建圖像對象。2.MATLAB圖形對象句柄 句柄概念在WINDOWS編程中是一個(gè)很重要的概念,在許多地方都扮演著重要的角色。句柄的概念是:在Windows環(huán)境中,句柄是用來標(biāo)識項(xiàng)目的,這些項(xiàng)目包括:*.模塊(module)、*.任務(wù)(task)、*.實(shí)例(instance)、*.文件(
25、file)、*.內(nèi)存塊(block of memory)、*.菜單(menu)、*.控制(control)、*.字體(font)、*.資源(resource),包括圖標(biāo)(icon),光標(biāo)(cursor),字符串(string)等。MATLAB在創(chuàng)建每一個(gè)圖形對象時(shí),都為該對象分配唯一的一個(gè)值,稱其為圖形對象句柄(Handle)。句柄是圖形對象的唯一標(biāo)識符,不同對象的句柄不可能重復(fù)和混淆。MATLAB通過圖形對象句柄來設(shè)置或獲取其某一屬性的值。MATLAB回調(diào)函數(shù)中的hObject 是當(dāng)前事件源控件的句柄,而handles是整個(gè)GUI面板的總的句柄。3.圖形對象屬性MATLAB給每種對象的每一個(gè)
26、屬性規(guī)定了一個(gè)名字,稱為屬性名,而屬性名的取值稱為屬性值。如一個(gè)按鈕是一個(gè)控件,而Callback則是按鈕的屬性名,所執(zhí)行的回調(diào)函數(shù)則是屬性值。獲取某一控件的屬性值用get函數(shù)。get函數(shù)的調(diào)用格式為:V=get(句柄,屬性名)。其中句柄代表某一控件,V是返回的屬性值。 設(shè)置某一控件的屬性值用set函數(shù)。set函數(shù)的調(diào)用格式為:set(句柄,屬性名1,屬性值1,屬性名2,屬性值2,)。其中句柄用于指明要操作的圖形對象。4.Callback程序基本操作Callback程序首先要在圖形界面上獲得各各控件的值,然后進(jìn)行一系列計(jì)算過程,最后將計(jì)算結(jié)果用圖形的方式或字符串的方式顯示在圖形界面上。(1)通
27、過以下方式得到按鈕pushbutton1的句柄:h1=handles.pushbutton1 或 h1=findobj(tag,pushbutton1)(2)如果已知某一編輯框的句柄為hh(得到方法同上),從該編輯框獲取輸入內(nèi)容,用以下語句:str = get(hh,String);(3)如果編輯框輸入的是數(shù)值,要參與后面的程序計(jì)算,則需要對數(shù)據(jù)類型進(jìn)行轉(zhuǎn)換,即:instr = str2num(get(hh,String);(4)還有一種情況,如果獲取當(dāng)前控件的值,用以下方法即可:instr = str2double(get(hObject,String); %從編輯框獲取輸入值(5)或不用事
28、先得到控件的句柄,直接通過結(jié)構(gòu)數(shù)組獲得編輯框控件edit1的值:instr = str2double(get(handles.edit1,String); %從編輯框獲取輸入值(6)將計(jì)算結(jié)果顯示在編輯框edit2中,用以下方法:set(handles.edit2,String,str); %其中str是字符串變量。(7)如果計(jì)算結(jié)果是數(shù)值型,則要進(jìn)行轉(zhuǎn)換:str=num2str(n); %n為數(shù)值型變量(8)如果要將計(jì)算結(jié)果繪出圖形,并繪制在界面上預(yù)先定義的坐標(biāo)軸axes1中,則在繪圖命令前加上以下語句,使axes1成為當(dāng)前坐標(biāo)軸:axes(handles.axes1) % handles.
29、axes1即為坐標(biāo)軸axes1的句柄四、MATLAB GUIDE 數(shù)據(jù)傳遞機(jī)制在使用GUIDE編程中,主要工作是對Callback函數(shù)的程序編寫與調(diào)試,除了編程部分外,數(shù)據(jù)調(diào)用與傳遞是比較重要的,也是必須掌握的。Callback函數(shù)的調(diào)試主要在M文件中進(jìn)行。1.GUIDE的函數(shù)M文件由一系列子函數(shù)構(gòu)成,包含主函數(shù)、Opening函數(shù)、Output函數(shù)和回調(diào)函數(shù)。第一行為主函數(shù)聲明,必須指定主函數(shù)名,且與文件名相同;varargin為輸入?yún)?shù),varargout為輸出參數(shù)。Opening Opening函數(shù)是在GUI開始運(yùn)行但還不可見的時(shí)候執(zhí)行,主要進(jìn)行一些初始化操作,為GUI第一個(gè)執(zhí)行的函數(shù)。
30、Output Output函數(shù)是必要時(shí)可輸出數(shù)據(jù)到命令行,是第二個(gè)執(zhí)行的函數(shù),以上兩個(gè)函數(shù)只會執(zhí)行一次。Callbacks Callbacks函數(shù)是當(dāng)用戶每次觸發(fā)GUI對象時(shí),一般都會執(zhí)行一個(gè)相應(yīng)的回調(diào)函數(shù)。2.GUIDE的參數(shù)當(dāng)創(chuàng)建GUI時(shí),輸入?yún)?shù)varargin為空;當(dāng)用戶觸發(fā)GUI對象時(shí),varargin為一個(gè)14的單元數(shù)組:第一個(gè)單元為所要執(zhí)行回調(diào)函數(shù)的函數(shù)名。例如,用戶單擊了Tag值為pushbutton1的pushbutton對象,此時(shí)varargin1=pushbutton1_Callback,即為要執(zhí)行的回調(diào)函數(shù)pushbutton1_Callback的函數(shù)名。第24個(gè)單元為
31、該回調(diào)函數(shù)的輸入?yún)?shù):hObject、eventdata和handles。hObject為當(dāng)前回調(diào)函數(shù)對應(yīng)的GUI對象的句柄,eventdata為未定義的保留參數(shù),handles為當(dāng)前GUI所有數(shù)據(jù)的結(jié)構(gòu)體,包含所有GUI對象的句柄和用戶定義的數(shù)據(jù)。所以,用戶要定義一個(gè)變量pc,可使用如下方法:handles.pc=10 %變量pc可以在任何一個(gè)控件的Callback函數(shù)中調(diào)用。3.兩個(gè)重要的結(jié)構(gòu)數(shù)組GUIDE創(chuàng)建的GUI的M文件中,除主函數(shù)外的所有函數(shù)都有如下兩個(gè)輸入?yún)?shù):(1)hObject 在Opening函數(shù)和Output函數(shù)中,表示當(dāng)前figure對象的句柄;在Callback函數(shù)中
32、,表示該callback函數(shù)所屬對象的句柄;(2)handles GUI數(shù)據(jù)。包含所有對象信息和用戶數(shù)據(jù)的結(jié)構(gòu)體,相當(dāng)于一個(gè)GUI對象和用戶數(shù)據(jù)的“容器”。所以,在程序中經(jīng)常使用以下語句更新數(shù)據(jù):guidata(hObject, handles);4. MATLAB GUIDE中數(shù)據(jù)在MATLAB GUI中,數(shù)據(jù)分兩種:GUI data和Application data。兩種數(shù)據(jù)的存取機(jī)制是相同的,但是GUI data使用起來比較方便。每一個(gè)GUI 圖形界面都維持一個(gè)和自己的界面的圖形(figure)相聯(lián)系的一個(gè)handles數(shù)據(jù)結(jié)構(gòu),這個(gè)數(shù)據(jù)結(jié)構(gòu)中容納圖形界面內(nèi)所有控件(按鈕、列表框、編輯框
33、等)的句柄,相當(dāng)于一個(gè)大的“容器”,里面存放了figure內(nèi)所有控件的句柄。5. MATLAB GUIDE數(shù)據(jù)訪問機(jī)制handles結(jié)構(gòu)可以被figure內(nèi)所有控件的回調(diào)函數(shù)訪問,因?yàn)榛卣{(diào)函數(shù)的輸入?yún)?shù)中都有handles結(jié)構(gòu)。此外,在控件的回調(diào)函數(shù)內(nèi)可以把數(shù)據(jù)存儲到handles結(jié)構(gòu)中。例如,在編輯框edit1的回調(diào)函數(shù)內(nèi)想獲得該編輯框的句柄,hObject可以,也可以用handles.edit1,這兩個(gè)值是一樣的,沒有區(qū)別,只不過獲得控件句柄的方式不同而已:hObject是調(diào)用回調(diào)函數(shù)時(shí)直接傳過來的,handles.edit1是從handles結(jié)構(gòu)中取得的。各控件的回調(diào)函數(shù)中,hObjec
34、t的值是不一樣的,分別代表調(diào)用回調(diào)函數(shù)的控件的句柄,而handles結(jié)構(gòu)卻是一樣的。這種機(jī)制便于figure內(nèi)的不同控件的回調(diào)函數(shù)內(nèi)傳遞數(shù)據(jù)。6.GUIDE 數(shù)據(jù)傳遞機(jī)制如果把figure對象當(dāng)做一個(gè)大缸,而把其他對象例如axes、button等等當(dāng)做這個(gè)大缸里的小缸,那么handles就相當(dāng)于這個(gè)大缸的句柄,可以用大缸的句柄來設(shè)置小缸的屬性,例如handles.pushbutton1。hObject就相當(dāng)于每一個(gè)小缸的句柄了,例如,要改變當(dāng)前控件的某一屬性,可以直接在響應(yīng)控件的function里添加:set(hObject,property,value);也可以在另外的控件里改變其屬性:se
35、t(handles.pushbutton1,property,value);handles和hObject都是“句柄”,儲存了它所代表的“那個(gè)對象”的信息;只不過handles代表的是當(dāng)前整個(gè)界面,hObject代表的是當(dāng)前的這個(gè)控件(比如按鈕,編輯框)因?yàn)榛卣{(diào)函數(shù)的輸入?yún)?shù)中都有handles結(jié)構(gòu),如: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 and user data (see GUIDATA)所以,這種數(shù)據(jù)傳遞機(jī)制是很方便和容易掌握的。7.實(shí)例一:編輯框數(shù)據(jù)獲得在按鈕控件中調(diào)用以下是三個(gè)Callback函數(shù):(1)密度function density_Callback(hObject, eventdata, handles)density = str2double(get(hObject, String); %獲得數(shù)據(jù)handles
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 疾病保險(xiǎn)課件教學(xué)課件
- 2024年度影視版權(quán)許可協(xié)議
- 04年影視制作委托合同
- 2024年度辦公樓照明系統(tǒng)燈具更換外包協(xié)議
- 2024年度“生態(tài)修復(fù)”工程咨詢服務(wù)合同
- 制作課件教學(xué)課件
- 2024年廣告發(fā)布與裝修施工合同協(xié)議
- 2024在熔盛重工與淡水河谷砂石船建造合同簽約儀式上的致辭熔盛重工朱文花
- 2024年度暖通設(shè)備安裝及調(diào)試合同
- 2024土地使用權(quán)轉(zhuǎn)讓合同(含開發(fā)權(quán))
- 黃河商品交易市場介紹稿
- Unit 3 My friends Part C Story time(教學(xué)設(shè)計(jì))-2024-2025學(xué)年人教PEP版英語四年級上冊
- 2024中國海油校園招聘2024人(高頻重點(diǎn)提升專題訓(xùn)練)共500題附帶答案詳解
- 孫中山誕辰紀(jì)念日主題班會主題班會
- 2024年安徽省合肥市中考語文題卷(含答案)
- G -B- 43630-2023 塔式和機(jī)架式服務(wù)器能效限定值及能效等級(正式版)
- 24春國開電大《工具書與文獻(xiàn)檢索》平時(shí)作業(yè)1-4答案
- 文藝復(fù)興經(jīng)典名著選讀 知到智慧樹網(wǎng)課答案
- 2024年北京出版集團(tuán)有限責(zé)任公司招聘筆試沖刺題(帶答案解析)
- 2022-2023學(xué)年福建省廈門一中九年級(上)期中物理試卷
- 足球球性球感練習(xí)教案
評論
0/150
提交評論