欢迎来到天天文库
浏览记录
ID:29466517
大小:1.34 MB
页数:7页
时间:2018-12-20
《matlab-gui介面的设计》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、http://www.docin.com/sundae_mengMATLAB-GUI介面的設計前言:這個講座專區是根據MATLAB介面開發與編譯技巧(第二版,李顯宏編著)這本書來做說明介紹並且用我碩論題目開發的程式來進行實例解說。基本上,GUI設計不難,只要搞清楚GUI內建物件的選項功能以及輸出輸入的關係,你也可以設計出一套不錯的GUI程式介面。建議已經有MATLAB撰寫基礎的人,可以直接從MATLAB介面開發與編譯技巧這本書的第九章開始研讀,此章節主要介紹如何透過GUIDE將GUI物件建立於介面中,並且建構出彈性化且美觀的人機介面。Fi
2、g.1的GUI介面是我碩論用來實現QBH(QueryingByHumming)的程式介面,接下來我會一一說明其中各個方塊的撰寫方式。Fig.1新手入門:打開Matlab,在CommandWindow打GUIDE,則會出現以下畫面:http://www.docin.com/sundae_meng若是要開啟一個新的空白介面,選擇BlankGUI(Defualt),若是已經有舊的GUI存檔(副檔名是.fig),則選擇OpenExistingGUI。現在以下是一個已經開啟的空白GUI設計介面:上圖中的功能鍵,每個鍵都有自己的功能:http://w
3、ww.docin.com/sundae_meng功能鍵:PushButton:GUI中最常使用也是最簡單的物件,當使用者按下此按鈕時,Matlab就會馬上執行此按鈕相對應的Callback程式來產生動作。Ex:設計一個加法器,其動作為兩輸入的的總合,則按下此按鈕,總合則會被記 算出來。Slide:可允許使用者於一特定範圍內選取設定值。Checkbox:在GUI中是非常有用的功能選項,當使用者勾選checkbox時,其vlaue的屬性為1,反之為0。Checkbox中的自行設定的RadioButton:點選RadioButton時,其vl
4、aue的屬性為1,反之為0。用法類似於Checkbox,但是不同於Checkbox能夠點選多個,RadioButton一次只能點選一個,也就是說其餘的RadioButton屬性皆為0,只有點選的RadioButton屬性為1。所以通常數個RadioButton都是編輯在一個Panel底下,意思就是不同RadioButton的功能是必須互斥的。http://www.docin.com/sundae_mengEditText:主要當作一個輸入的介面,以便使用者能夠輸入字串字元以及數字。StaticText:不同於EditText,Static
5、Text主要是用來編輯標題。Pop-upMenu:下拉式選單,結合switch…case陳述式,當一個程式需要用的可供選擇的函式,可以使用此功能去選擇想要的函式,然後再搭配PushButton進行程式的執行。PopupMenu的內容選項數目必須跟switchcase的索引數相同,如選取第一個選項,則value屬性就會回傳1,選取第二個選項,則value屬性就會回傳2,以此類推。ListBox:與PopupMenu很類似,這是一個清單式的選取介面,與PopupMenu最大的不同點在於它可以提供複選的功能。另外,也可以單純只把ListBox當
6、作一個文字的輸出清單。ToggleButton:和PushButton很類似,比較不同的地方在於按下ToggleButton的時候,其Value屬性為1,按鈕不會自行彈起,必須再按一次,Value屬性才會為0,按鈕才會彈起,此功能提供一個比PushButton較安全的機制去避免重複按到。Table:主要顯示矩陣運算的結果。Axes:主要顯示運算結果的圖型:影像圖,波型圖。http://www.docin.com/sundae_mengPanel:可以包含所有物件(GUI物件,Axes,其他Panel),當修改圖型的時候,方便於編輯。But
7、tonGroup:和Panel是很像的東西,主要是用來管理排外選取的行為,也就是同一個組群中不能一次選取兩個radiobutton或togglebutton。Property:對於任一功能選項,點選右鍵,再選擇PropertyInspector,則可以進行屬性的編輯。點選進入後,一些常用的選項如:Tag,String,FontSize,Value(事實上,我寫的QBH介面幾乎只編輯這四個選項,這些已經蠻夠用的)。http://www.docin.com/sundae_meng實例說明:PopupMenu說明:melody_matching
8、=get(handles.popupmenu4,'Value');switchmelody_matchingcase1melody_matching='DP';case2melody_matc
此文档下载收益归作者所有