MATLAB課件第6章:MATLAB圖形用戶界面設(shè)計_第1頁
MATLAB課件第6章:MATLAB圖形用戶界面設(shè)計_第2頁
MATLAB課件第6章:MATLAB圖形用戶界面設(shè)計_第3頁
MATLAB課件第6章:MATLAB圖形用戶界面設(shè)計_第4頁
MATLAB課件第6章:MATLAB圖形用戶界面設(shè)計_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第6章MATLAB圖形用戶界面設(shè)計

圖形用戶界面(GUI,GraphicUserInterface)是指包含圖形對象的用戶界面.

圖形用戶界面是現(xiàn)代程序設(shè)計的基本要求。與圖形用戶界面有關(guān)的函數(shù)庫:GUI工具庫(GUITOOLS)

■句柄圖形■圖形用戶界面設(shè)計方法■圖形界面對話框設(shè)計■生成獨立的EXE文件主要內(nèi)容6.1句柄圖形一、句柄圖形的概念句柄圖形(HandleGraphics):一個圖形界面由若干個對象(object)組成,每一個對象都有一個唯一的標(biāo)識,這個標(biāo)識稱為對象的句柄(Handle)。

每一個對象,又可以包含若干個子對象,子對象的上一級稱為父對象。二、句柄圖形的層次結(jié)構(gòu)6.1句柄圖形

利用對象的句柄和層次關(guān)系可以修改對象的屬性

(如:線的顏色等)。

獲取圖形句柄的函數(shù)有:

■gcf:獲取當(dāng)前圖形窗口的句柄

■gca:獲取當(dāng)前坐標(biāo)軸的句柄

■gco:獲取當(dāng)前圖形對象(被鼠標(biāo)最近點擊)的句柄

三、利用句柄獲取和設(shè)置對象的屬性6.1句柄圖形三、利用句柄獲取和設(shè)置對象的屬性1、對象的屬性(Property)

任何圖形對象都有很多屬性,例如:對于線對象,有顏色、線形等屬性。6.1句柄圖形

2、獲取對象的屬性----get格式:

p=get(h)-----返回對象h的所有屬性值

p=get(h,’屬性名’)-----返回對象h的某個屬性值

例如:h=plot([121])(返回線的句柄)p=get(h);p=get(h,’color’)6.1句柄圖形3、設(shè)置對象的屬性----set格式:set(h,’屬性名1’,’屬性名值1’,

’屬性名2’,’屬性名值2’,…)例如:set(h,’color’,[1,0,0],’linewidth’,10)set(gca,’color’,[0,1,0]);

set(gcf,’color’,[0,0,0])6.2圖形用戶界面設(shè)計方法一、設(shè)計入門1、圖形用戶界面設(shè)計有兩種方式:

■一是基于函數(shù)的編程方式(如:利用uimenu()函數(shù)創(chuàng)建一個菜單利用uicontrol()函數(shù)創(chuàng)建一個控件)

■二是基于GUI方式(推薦的方式)6.2圖形用戶界面設(shè)計方法一、設(shè)計入門2、GUI方式的進入(1)進入GUI的命令是:guide6.2圖形用戶界面設(shè)計方法(2)設(shè)置應(yīng)用選項(Applicationoptions)(右鍵屬性)6.2圖形用戶界面設(shè)計方法

3、一個例子:

設(shè)計一個圖形界面包含4個函數(shù)按鍵和一個坐標(biāo)軸(Axes),按一個鍵則顯示該函數(shù)的波形。

步驟如下:(1)進入guide,放置坐標(biāo)軸和按鈕,并修改按鈕的屬性(名稱string,字體font)。6.2圖形用戶界面設(shè)計方法

3、一個例子:

(2)保存(myfun),圖形界面信息保存在以.fig結(jié)尾的文件中(myfun.fig);同時生成一個同名的m文件(myfun.m).(3)編寫回調(diào)函數(shù)(事件)(4)運行6.2圖形用戶界面設(shè)計方法二、菜單和控件

MATLAB圖形界面包含兩類主要對象:菜單和控件(按鈕等)

1、菜單創(chuàng)建菜單6.2圖形用戶界面設(shè)計方法

2、控件

所有控件都有自己的屬性和回調(diào)函數(shù),可根據(jù)需要修改。

開關(guān)控件復(fù)選框控件文本顯示控件圖文框控件下拉列表框控件按鈕控件單選按鈕控件文本編輯控件滾動條控件列表框控件坐標(biāo)軸控件6.2圖形用戶界面設(shè)計方法三、回調(diào)函數(shù)

在圖形界面保存時,自動生成一個m文件,所有對象的回調(diào)函數(shù)頭都放在m文件的后邊。只需添入代碼即可。

6.2圖形用戶界面設(shè)計方法

編寫回調(diào)函數(shù)需要注意:1、對象的句柄:回調(diào)函數(shù)的自變量中已有一個handles(所有對象的handle),具體到某個對象的handle可使用:handles.tag

(tag是對象的一個屬性,表示對象標(biāo)識)例如:標(biāo)識(tag)為axes1的坐標(biāo)軸的句柄為:handles.axes16.2圖形用戶界面設(shè)計方法2、屬性的獲取和設(shè)置

利用get和set例如:添加一個Edit控件和一個按鈕,每按一次按鈕,Edit的數(shù)加1。按鈕的回調(diào)函數(shù)為:

a=get(handles.edit1,'string');b=str2num(a);b=b+1;c=num2str(b);set(handles.edit1,'string',c);6.2圖形用戶界面設(shè)計方法3、坐標(biāo)軸的指定

axes(h)(h為坐標(biāo)軸的句柄)4、使用其它回調(diào)函數(shù)的變量必須定義為全局變量6.2圖形用戶界面設(shè)計方法四、圖形界面設(shè)計原則1、簡單性(Simplicity):力求簡潔大方2、一致性(Consistency):界面風(fēng)格要一致3、習(xí)常性(Familiarity):符合習(xí)慣6.2圖形用戶界面設(shè)計方法五、圖形界面設(shè)計的一般步驟

1、分析要求,明確設(shè)計任務(wù)2、在草稿紙上給出界面草圖,反復(fù)審查3、按構(gòu)思的草圖,設(shè)計界面4、編寫回調(diào)程序,逐項調(diào)試6.3圖形界面對話框設(shè)計一、專用對話框1、信息提示格式:msgbox(‘顯示內(nèi)容’,‘標(biāo)題’)

對話框只有一個ok按鈕例如:msgbox(‘保存完畢’,‘提示’)6.3圖形界面對話框設(shè)計2、問題對話框格式:q=questdlg(‘顯示內(nèi)容’,‘標(biāo)題’)

對話框有Yes/No/Cancel按鈕,

返回點擊的按鈕(Yes/No/Cancel)例如:q=questdlg(‘是否保存?’,‘提示’)(q=‘Yes’)其它的對話框還有:幫助提示helpdlg等。6.3圖形界面對話框設(shè)計二、標(biāo)準(zhǔn)對話框1、打開文件對話框格式:fn=uigetfile(‘通配符’,‘標(biāo)題’)fn為返回的文件名例如:fn=uigetfile('*.wav','OpenFile');6.3圖形界面對話框設(shè)計2、保存文件對話框格式:fn=uiputfile(‘初始文件名’,‘標(biāo)題’)fn為返回的文件名

fn=uiputfile(‘test.wav',‘SaveFile');6.3圖形界面對話框設(shè)計3、設(shè)置顏色對話框(uisetcolor)4、設(shè)置字體對話框(uisetfont)三、對話框例子打開一個wav文件,顯示其波形(mysound.m))6.4生成獨立的EXE文件步驟:1、安裝C或C++編譯器如:VC++,C++Builder2、使用mbuild–setup建立環(huán)境3、使用mcc–BsqlcppFilename

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論