matlab-GUI-操作講義-圖形用戶界面設(shè)計_第1頁
matlab-GUI-操作講義-圖形用戶界面設(shè)計_第2頁
matlab-GUI-操作講義-圖形用戶界面設(shè)計_第3頁
matlab-GUI-操作講義-圖形用戶界面設(shè)計_第4頁
matlab-GUI-操作講義-圖形用戶界面設(shè)計_第5頁
已閱讀5頁,還剩64頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

七.圖形用戶界面本章主要內(nèi)容圖形用戶界面的設(shè)計原那么和一般步驟圖形用戶界面設(shè)計圖形用戶界面設(shè)計工具應(yīng)用M函數(shù)文件實現(xiàn)圖形用戶界面7.1圖形用戶界面的設(shè)計原那么和一般步驟圖形用戶界面就是通過窗口、選單、按鈕、文字說明等對象構(gòu)成一個美觀的界面,提供用戶利用鼠標(biāo)或鍵盤方便地實現(xiàn)操作。MATLAB設(shè)計圖形用戶界面的方法有兩種:使用可視化的界面環(huán)境〔圖形用戶界面設(shè)計工具〕和通過編寫程序。7.1.1設(shè)計原那么1.簡單性設(shè)計界面時,應(yīng)力求簡捷、直觀、清晰地表達(dá)出界面的功能和特征。窗口數(shù)目盡量少,力避不同窗口間來回切換;多采用圖形,少用數(shù)值;不要出現(xiàn)可有可無的功能。7.1.1設(shè)計原那么〔續(xù)〕2.一致性兩層含義:一指自己設(shè)計的界面風(fēng)格要盡量一致;二指新設(shè)計的界面要與其他已有的界面風(fēng)格要一致。一般習(xí)慣圖形區(qū)在界面左側(cè),控制區(qū)在右側(cè)。7.1.1設(shè)計原那么〔續(xù)〕3.習(xí)常性設(shè)計界面時,應(yīng)盡量使用人們所熟悉的標(biāo)志和符號,便于用戶使用。4.其他考慮因素

除了以上靜態(tài)性能之外,還應(yīng)注意界面的動態(tài)性能:界面對用戶操作的響應(yīng)要迅速、連續(xù);對持續(xù)時間較長的運算要給出等待時間提示,并允許用戶中斷運算。7.1.2一般制作步驟界面制作包括界面設(shè)計和程序?qū)崿F(xiàn)。分析界面所要實現(xiàn)的主要功能,明確設(shè)計任務(wù);繪界面草圖,注意從使用者的角度來考慮界面布局;按構(gòu)思的草圖,上機(jī)制作靜態(tài)界面;編寫界面動態(tài)功能程序。7.2圖形用戶界面設(shè)計7.2.1可視化的界面環(huán)境MATLAB6.5版本提供的GUI設(shè)計工具較前面的版本有較大的改善,設(shè)計界面變化很大。翻開GUI設(shè)計工具的方法有以下幾種:(1)選擇菜單“File〞——“New〞——“GUI〞命令;(2)在指令窗口輸入以下命令:guide翻開空白設(shè)計工作臺guideFN在工作臺中翻開文件名為FN的用戶界面注意:在guide指令作用下,待翻開的文件名不分字母的大小寫。7.2圖形用戶界面設(shè)計〔續(xù)〕翻開的GUI啟動界面提供新建界面〔CreateNewGUI〕和翻開已有界面文件〔OpenExistingGUI〕的屬性頁。新建界面可以選擇空白界面、包含有控件的模板界面、包含有軸對象和菜單的模板界面、標(biāo)準(zhǔn)詢問窗口等選項。選擇任意一項都會翻開GUI設(shè)計工作臺,對界面靜態(tài)組成局部進(jìn)行的具體的修改工作都是在工作臺實現(xiàn)的。7.2圖形用戶界面設(shè)計〔續(xù)〕如在指令窗鍵入:guide,那么可得到如下GUI設(shè)計工具的啟動界面:空白界面有控件的模板界面有軸對象和菜單的模板界面標(biāo)準(zhǔn)詢問窗口7.2圖形用戶界面設(shè)計〔續(xù)〕假設(shè)激活翻開已有界面文件〔OpenExistingGUI〕的屬性頁,那么可通過翻開文件瀏覽器〔Browse〕選定需翻開文件并翻開,主窗口那么顯示最近翻開的界面文件的列表。最近翻開的界面文件列表翻開文件瀏覽器7.2圖形用戶界面設(shè)計〔續(xù)〕如在新建界面中選擇“BlankGUI(Default)〞,然后單擊“OK〞按鈕,就會出現(xiàn)如下的GUI設(shè)計工作臺:7.2圖形用戶界面設(shè)計〔續(xù)〕GUI設(shè)計工作臺有4個功能區(qū):菜單條、編輯工具條、控件模板區(qū)、設(shè)計工作區(qū)。菜單條編輯工具條控件模板區(qū)設(shè)計工作區(qū)7.2圖形用戶界面設(shè)計〔續(xù)〕在工具欄主要提供了六個工具:對象對齊工具、菜單編輯器、文件編輯器、屬性編輯器、界面激活工具和對象瀏覽器,單擊這六個按鈕就會出現(xiàn)相應(yīng)的窗口。對象對齊工具菜單編輯器文件編輯器屬性編輯器對象瀏覽器運行界面7.2.2創(chuàng)立用戶菜單1.菜單編輯在GUI設(shè)計工作臺的菜單條選擇“Tool〞-〞MenuEditor…〞或單擊工具欄“MenuEditor〞按鈕,就會出現(xiàn)菜單編輯器窗口。新建菜單新建子菜單菜單左、右移菜單上、下移刪除菜單填寫菜單名,如果在前面加“&〞符號那么加快捷鍵,當(dāng)運行時第一個字母會加下劃線,以便用戶快速激活菜單項標(biāo)記分隔符初值是否已選輸入回調(diào)函數(shù)7.2.2創(chuàng)立用戶菜單(續(xù))2.通過uimenu命令創(chuàng)立菜單h_menu=uimenu(h_parent,’PropertyName’,ProperValue,…)>>h_menu=uimenu(h_fig,’lable’,’paint’)%創(chuàng)立菜單paint7.2.3控件的使用1.常用控件詳見下表所示:

控件名PropertyName功能按鈕PushButton最常用的控件,用于響應(yīng)用戶的鼠標(biāo)單擊,按鈕上有說明文字說明其作用。切換按鈕ToggleButton當(dāng)單擊時會凹凸?fàn)顟B(tài)切換。單選按鈕RadioButton當(dāng)單擊時會用黑白點切換,總是成組出現(xiàn),多個單選按鈕互斥,一組中只有一個被選中。復(fù)選框CheckBox當(dāng)單擊時會用√切換,有選中、不選中和不確定等狀態(tài),總是成組出現(xiàn),多個復(fù)選框可同時選用。文本框EditText凹形方框,可隨意輸入和編輯單行和多行文字,并顯示出來。靜態(tài)文本框StaticText用于顯示文字信息,但不接受輸入。滾動條Slider可以用圖示的方式顯示在一個范圍內(nèi)數(shù)值的大概值范圍,用戶可以移動滾動條改變數(shù)值??蚣蹻rame將一組控件圍在框架中,用于裝飾界面。列表框ListBox顯示下拉文字列表,用戶可以從列表中選擇一項和多項。彈出式菜單PopupMenu相當(dāng)于文本框和列表框的組合,用戶可以從下拉列表中選擇。坐標(biāo)軸Axes用于繪制坐標(biāo)軸。7.2.3控件的使用〔續(xù)〕2.控件的創(chuàng)立(1)在可視化界面環(huán)境中創(chuàng)立控件在可視化界面環(huán)境中創(chuàng)立控件很簡單,就是在控件模板區(qū)中選中控件,然后拖放到設(shè)計工作區(qū)即可。7.2.3控件的使用〔續(xù)〕(2)用uicontrol命令創(chuàng)立控件h_control=uicontrol(h_Parent,’PropertyName’,ProperValue,…)7.2.3控件的使用〔續(xù)〕3.控件的常用屬性創(chuàng)立控件以后,需要對控件的各種屬性進(jìn)行設(shè)置,大部分控件都具有以下屬性。〔1〕string屬性:用于顯示在控件上的字符串,起說明或提示作用。〔2〕callback屬性:回調(diào)函數(shù),與菜單的一樣?!?〕enable屬性:表示該控件是否有效,〞on“表示有效,〞off“表示無效?!?〕tooltipstring屬性:當(dāng)鼠標(biāo)放在控件上時顯示提示信息,為字符串。〔5〕字體屬性:包括fontname,fontsize等?!?〕Tag屬性:控件的標(biāo)記,用于標(biāo)識控件。7.2.4對象對齊工具、屬性編輯器和對象瀏覽器對象對齊工具用來將用戶界面的多個控件對齊;通過對象瀏覽器可以查看用戶界面中的所有對象;在屬性編輯器中可以設(shè)置和查看對象的各種屬性。7.2.5回調(diào)函數(shù)實現(xiàn)GUI的根本機(jī)制是對控件的屬性編程。在設(shè)計界面中選定需要編寫回調(diào)函數(shù)的對象,然后選擇菜單〞View〞-“ObjectCallbacks〞,就會出現(xiàn)4個子菜單,都是用來編寫回調(diào)函數(shù)的。中選擇各選單項時,MATLAB會提醒用戶保存設(shè)計的界面,然后翻開M文件編輯器/調(diào)試器,可看到機(jī)器自動生成了一個函數(shù)文件,用戶即可在該文件中帶%--標(biāo)記的行填寫回調(diào)指令,其余指令用戶不必也不能更改。7.3圖形用戶界面設(shè)計工具應(yīng)用【例7-1】利用GUI工具設(shè)計用戶界面。該界面具有以下功能:〔1〕在編輯框中,可輸入表示阻尼比的標(biāo)量或“行數(shù)組〞數(shù)值,并在按【enter】鍵后,在軸上畫出相應(yīng)的藍(lán)色曲線〔坐標(biāo)范圍:X軸[0,15];Y軸[0,2])?!?〕在點擊【Gridon】或【Gridoff】鍵時,在軸上畫出或刪除“分格線〞;缺省時無分格線?!?〕在菜單【Options】下,有2個下拉菜單【Boxon】和【Boxoff】;缺省時為Boxoff狀態(tài)?!?〕所設(shè)計的界面和其上圖形對象、控件對象都按比例縮放。7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕界面最終效果圖如下所示:7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕由于本例的設(shè)計界面清晰、要求明確,所以無需進(jìn)行功能分析和繪制草圖,而可直接進(jìn)入界面制作階段。7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕使用“guide〞命令啟動GUI界面,選擇“BlankGUI〞出現(xiàn)GUI設(shè)計工作臺,調(diào)整圖形大小,將界面窗口左邊的控件模板區(qū)中的控件拖放到設(shè)計工作區(qū)中。放置以下控件:一個坐標(biāo)軸、兩個靜態(tài)文本框、一個可編輯文本框、兩個按鈕;然后翻開對象對齊工具對齊各控件,界面布局如以下圖。7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕2.設(shè)置控件屬性雙擊工作區(qū)及控件可引出圖形窗和相應(yīng)控件的“屬性編輯框〔PropertyInspector)〞。在圖形窗的屬性編輯框中,設(shè)置如下屬性值:NameMyguil%圖形窗的名稱Resizeon%圖形窗可以縮放Tagfiguer1%生成handles.figure1域存放圖形窗句柄7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕在軸屬性編輯框中,設(shè)置如下屬性值:Unitsnormalized%采用相對度量單位,縮放時保持比例Boxoff%坐標(biāo)軸不封閉Tagaxes1%生成handles.axes1域存放軸句柄XLim[0,15]%X軸范圍YLim[0,2]%Y軸范圍7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕在圖形區(qū)上方的靜態(tài)文本的屬性編輯框中,設(shè)置如下屬性值:Fontsize0.696%字體大小FontUnitsnormaliszed%采用相對度量單位,縮放時保持字體比例String

歸一化二階系統(tǒng)的階躍響應(yīng)曲線%顯示在界面上的字符Tagtitle_text%生成handles.title_text域存放靜態(tài)文本句柄HorizontalAlignmentCenter%文字中心對齊Unitsnormalized%采用相對度量單位,縮放時保持該區(qū)比例7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕在可編輯文本上方的靜態(tài)文本的屬性編輯框中,設(shè)置如下屬性值:Fontsize0.351%字體大小FontUnitsnormaliszed%采用相對度量單位,縮放時保持字體比例HorizontalAlignmentCenter%文字中心對齊String系統(tǒng)阻尼比%顯示在界面上的字符Tagedit_text%生成handles.edit_text域存放靜態(tài)文本句柄Unitsnormalized%采用相對度量單位,縮放時保持該區(qū)比例7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕在可編輯文本的屬性編輯框中,設(shè)置如下屬性值:Fontsize0.626%字體大小FontUnitsnormaliszed%采用相對度量單位,縮放時保持字體比例HorizontalAlignmentCenter%文字中心對齊String%在界面上顯示為空白Tagzeta_edit%生成handles.zeta_edit域存放彈出式選單句柄Unitsnormalized%采用相對度量單位,縮放時保持該區(qū)比例7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕在上按鍵的屬性編輯框中,設(shè)置如下屬性值:Fontsize0.485%字體大小FontUnitsnormaliszed%采用相對度量單位,縮放時保持字體比例HorizontalAlignmentCenter%文字中心對齊StringGridon%在按鍵上顯示GridonTagGridOn_push%生成handles.GridOn_push域存放該鍵句柄Unitsnormalized%采用相對度量單位,縮放時保持該鍵比例7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕在下按鍵的屬性編輯框中,設(shè)置如下屬性值:Fontsize0.485%字體大小FontUnitsnormaliszed%采用相對度量單位,縮放時保持字體比例HorizontalAlignmentCenter%文字中心對齊StringGridoff%在按鍵上顯示GridoffTagGridOff_push%生成handles.GridOff_push域存放該鍵句柄Unitsnormalized%采用相對度量單位,縮放時保持該鍵比例7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕3.精細(xì)調(diào)整控件的大小及其相對位置直接拖拉控件調(diào)整其大??;通過對象對齊工具將控件擺放整齊。4.創(chuàng)立菜單點擊“菜單編輯器〞圖標(biāo),引出空白菜單編輯對話窗,再點擊該對話窗最左上方的“新菜單NewMenu〞圖標(biāo),在左側(cè)空白窗口中,出現(xiàn)〞Untitled1〞圖標(biāo);點擊此圖標(biāo)那么在右側(cè)引出填寫欄,在“l(fā)able〞中填寫Options;在“Tag〞中填寫options,于是左側(cè)的〞Untitled1〞圖標(biāo)變成“Options〞圖標(biāo),表示此菜單已生成。7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕先點亮左側(cè)的“Option〞圖標(biāo),再點擊菜單編輯對話窗上的“新菜單項NewMenuItem〞圖標(biāo),就引出等待定義的菜單項;在右側(cè)的“Label〞中填寫B(tài)oxon,在“Tag〞中填寫box_on。重復(fù)該小步操作,建立另一個菜單項Boxoff。注意:菜單編輯對話窗上的“Callback〞不要填寫,機(jī)器自動生成。7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕5.界面的激活和回調(diào)函數(shù)的生成點擊工作臺上的〞運行界面“的工具圖標(biāo),會出現(xiàn)一個詢問對話框,當(dāng)按提示對以上的設(shè)計進(jìn)行存儲以后,就會引出2個界面:名為Myguil的〔待激活的〕圖形用戶界面;展示名為Myguil的〔待填寫回調(diào)指令的〕M函數(shù)文件的文件編輯器界面。同時,在當(dāng)前目錄或給定目錄上,由MATLAB自動生成了2個文件,即Myguil.fig和Myguil.m。7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕在Myguil.m文件中,填寫回調(diào)指令:functionvarargout=zeta_edit_Callback(hObject,eventdata,handles,varargin)z=str2num(get(handles.zeta_edit,‘String’))%從編輯框中獲取zeta數(shù)據(jù)t=0:0.1:15;%設(shè)置時間采樣數(shù)組cla%clearcurrentaxisfork=1:length(z)y(:,k)=step(1,[1,2*z(k),1],t);%計算階躍輸出line(t,y(:,k));%繪制曲線end7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕Functionvarargout=GridOn_push_Callback(hObject,eventdata,handles,varargin)gridon%配合Gridon按鍵操作的指令functionvarargout=GridOff_push_Callback(hObject,eventdata,handles,varargin)gridoff%配合Gridoff按鍵操作的指令7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕functionvarargout=box_on_Callback(hObject,eventdata,handles,varargin)boxon%配合菜單Boxon的操作指令set(handles.box_on,‘enable’,‘off’)%使菜單項Boxon失能set(handles.box_off,‘enable’,‘on’)%使菜單項Boxoff使能7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕functionvarargout=box_off_Callback(hObject,eventdata,handles,varargin)boxoff%配合菜單Boxoff的操作指令set(handles.box_off,‘enable’,‘off’)%使菜單項Boxoff失能

set(handles.box_on,‘enable’,‘on’)%使菜單項Boxon使能7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕注意:在填寫回調(diào)函數(shù)時,只有帶%---標(biāo)記的那些行指令是用戶為滿足設(shè)計要求而填寫的,其余指令都是機(jī)器自動生成的,用戶不必也不能更改6.圖形用戶界面的使用經(jīng)過以上幾個步驟生成的圖形用戶界面已經(jīng)可以使用了,只要Myguil.m和Myguil.fig在當(dāng)前目錄或在MATLAB搜索路徑上,那么在指令窗運行Myguil就能使用該界面。生成的界面如以下圖所示:7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕例7.2設(shè)計一個GUI,實現(xiàn)計算器的功能步驟一:界面功能分析該計算器能完成數(shù)字的四那么運算及局部常用的科學(xué)計算,如sin,cos,log等。步驟二:繪界面草圖可有多種風(fēng)格的界面。7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕草圖一:數(shù)值顯示區(qū)(參加計算的數(shù)值及計算結(jié)果)數(shù)字按鈕(0~9十個數(shù)字及小數(shù)點)代表+,-,*,/及sin,cos,log,log10運算的按鈕開始計算及清零按鈕7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕草圖二:計算式第一個數(shù)字的編輯顯示計算式兩個數(shù)字間的計算關(guān)系計算式第二個數(shù)字的編輯顯示計算結(jié)果顯示區(qū)代表+,-,*,/及and,or,xor,y^x等運算的按鈕開始計算及清零按鈕7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕草圖三:表達(dá)式編輯顯示區(qū)(格式和MATLAB命令相同)計算結(jié)果顯示區(qū)開始計算及清零按鈕7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕步驟三:設(shè)計界面〔選擇草圖一〕初步布局翻開GUI工作臺,通過用鼠標(biāo)拖拉“工作區(qū)〞右下角的“小黑塊〞使工作區(qū)的大小適宜,然后根據(jù)草圖從控件選擇區(qū)選擇相應(yīng)的控件拖拉到工作區(qū)的相應(yīng)位置。效果圖如下頁所示:7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕2.修改控件屬性1〕雙擊設(shè)計工作區(qū)的空白局部,翻開圖形窗的屬性框,設(shè)置屬性如下:MenuBarnone%圖形窗不使用標(biāo)準(zhǔn)菜單NameExperiment1%圖形窗名稱Resizeoff%圖形窗不能縮放TagmainWnd%生成handles.mainWnd域存放圖形窗句柄7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕2〕靜態(tài)文本編輯框的屬性設(shè)置。以〞expression〞文本框為例:FontSize15%字體大小Fontunitspoint%字體大小的度量單位HorizontalAlignmentCenter%對齊方式StringExpression%待顯示的字符Tagtext1%生成handles.text1存放該靜態(tài)文本框的句柄Unitspoint%文本框度量單位7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕3〕可編輯文本框的屬性設(shè)置Sting0%初始狀態(tài)下顯示數(shù)字0TagpExp%可編輯文本框的句柄其它與靜態(tài)文本框相同7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕注:Units或FontUnits可選擇:inches(英寸),centimeters(厘米),normalized(按比例縮放),points(點陣),pixels(像素),characters(字符)。如果選擇normalized,那么當(dāng)resize設(shè)為on時,控件或字體大小隨著整個窗口的縮放而改變。

水平對齊方式HorizontalAlignment可以是left,center,right。

控件句柄Tag有默認(rèn)值,建議修改為帶有具體含義的字符串,以增加程序可讀性和方便回調(diào)函數(shù)調(diào)用。7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕4〕單功能按鈕屬性設(shè)置。以按鈕“1〞為例:String1Tagp1其它和靜態(tài)文本框相同。7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕3.創(chuàng)立菜單創(chuàng)立一個“操作〞菜單,帶兩個下拉選單“計算〞和“清零〞。7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕步驟四:激活界面,填寫回調(diào)函數(shù)保存靜態(tài)界面后,利用工具欄上的運行界面按鈕激活界面,同時,機(jī)器自動生成了exp1.fig和exp1.m兩個文件。翻開exp1.m文件,可看到自動生成的回調(diào)函數(shù),該函數(shù)的命名利用對象句柄進(jìn)行區(qū)分,沒有任何執(zhí)行語句。7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕回調(diào)函數(shù):Tag_Callback(hObject,eventdata,handles)通過參加自己的處理語句,才可實現(xiàn)所需的功能。其中,hObject是該控件的句柄;evendata是備用參數(shù),目前沒有定義;handles是用戶數(shù)據(jù),本身是一個構(gòu)架數(shù)組,存放了當(dāng)前窗口所有對象的句柄,包括圖形窗本身、所有控件和菜單的句柄,并且可以增加一些域用來傳遞用戶數(shù)據(jù)。利用guidata(H,handles)可以更新H的用戶數(shù)據(jù)。對本例來說,先需要定義幾個用戶變量,以便記錄參加運算的數(shù)值,進(jìn)行計算。7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕functionexp1_OpeningFcn(hObject,eventdata,handles,varargin) handles.output=hObject; handles.s_Exp=‘’; %以字符串的形式記錄計算表達(dá)式 handles.s_Num=‘’; %以字符串的形式記錄編輯框中要顯示的數(shù)值 handles.i=1; %s_Exp的計數(shù)器 handles.j=1; %s_Num的計數(shù)器 handles.flag=0;%用來區(qū)分四那么運算和函數(shù)運算的標(biāo)志 %Updatehandlesstructure guidata(hObject,handles);7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕數(shù)字按鈕的回調(diào)函數(shù),以數(shù)字1按鈕的回調(diào)函數(shù)為例function

p1_Callback(hObject,eventdata,handles) handles.s_Exp(handles.i)='1'; handles.s_Num(handles.j)='1'; handles.i=handles.i+1; handles.j=handles.j+1; guidata(handles.mainWnd,handles); set(handles.pExp,'string',handles.s_Num)7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕四那么運算的回調(diào)函數(shù),以“+〞為例functionpAdd_Callback(hObject,eventdata,handles)ifhandles.flaghandles.s_Exp(handles.i)=')';handles.flag=0;handles.i=handles.i+1;handles.j=handles.j+1;endhandles.s_Exp(handles.i)='+';handles.s_Num(handles.j)='+';handles.i=handles.i+1;handles.j=handles.j+1;guidata(handles.mainWnd,handles);set(handles.pExp,'string',handles.s_Num)7.3圖形用戶界面設(shè)計工具應(yīng)用〔續(xù)〕其它運算的回調(diào)函數(shù),以“sin〞為例functionpSin_Callback(hObject,eventdata,handles)handles.s_Exp(handles.i:handles.i+3)='sin(';handles.flag=1;handles.s_Num='sin(';handles.i=handles.i+4;handles.j=handles.j+4;guidata(handles.mainWnd,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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論