- 計算機仿真技術與CAD
- 李國勇主編
- 1539字
- 2019-01-09 15:00:28
1.8 MATLAB的圖形界面
作為強大的科學計算軟件,MATLAB也提供了圖形用戶界面(GUI)的設計和開發功能。MATLAB中的基本圖形用戶界面對象分為3類:用戶界面控件對象(uicontrol)、下拉式菜單對象(uimenu)和內容式菜單對象(uicontextmenu)。其中,uicontrol()函數能建立按鈕、列表框、編輯框等圖形用戶界面對象;uimenu()函數能建立下拉式菜單和子菜單等圖形用戶界面對象;uicontextmenu()函數能建立內容式菜單用戶界面對象。利用上述函數,通過命令行方式,進行精心的組織,就可設計出一個界面良好、操作簡單、功能強大的圖形用戶界面。
另外,為了能夠像Visual Basic,Visual C++等程序設計軟件一樣簡單、方便地進行GUI的設計與開發,MATLAB提供了一套方便、實用的GUI設計工具。GUI設計工具比較直觀,適宜進行被設計界面上各控件的幾何安排。但從總體上講,GUI設計工具遠不如直接使用指令編寫程序靈活。由于篇幅所限,本文僅簡單介紹GUI設計工具——GUI Builder。
1.啟動GUI Builder
在MATLAB命令窗口中,可以用以下三種方法啟動GUI Builder。
(1)在MATLAB的命令窗口中直接鍵入guide命令;
(2)在MATLAB工作窗口中,利用菜單命令File→New→GUI;
(3)在MATLAB左下角“Start”菜單中,單擊“MATLAB”子菜單中的“GUIDE(GUI Build-er)”選項。
選擇以上任意一種方法,便可打開GUI設計工具的模板界面,如圖1-12所示。

圖1-12 GUI設計模板界面
MATLAB為GUI設計準備了4種模板:Blank GUI(默認)、GUI with Uicontrols(帶控件對象的GUI模板)、GUI with Axes and Menu(帶坐標軸與菜單的GUI模板)、Modal Question Dialog(帶模式問話對話框的GUI模板)。不同的設計模板,在對象設計編輯器中的顯示結果是不同的。在GUI設計模板界面中選擇一種模板,然后單擊【OK】按鈕后,就會顯示對象設計編輯器(Layout Editor)。圖1-13所示為選擇Blank GUI模板后顯示的對象設計編輯器界面。

圖1-13 對象設計編輯器界面
2.對象設計編輯器
在對象設計編輯器界面的頂端工具欄中,特別給出了以下快捷工具按鈕:位置調整(Align Objects)按鈕“”、菜單編輯器(Menu Editor)按鈕“
”、Tab順序編輯器(Tab Order Editor)按鈕“
”、M文件編輯器(M-file Editor)按鈕“
”、對象屬性編輯器(Property Inspector)按鈕“
”、對象瀏覽器(Object Browser)按鈕“
”和顯示設計結果(Run)按鈕“
”。利用菜單編輯器,可以創建、設置、修改下拉式菜單和內容式菜單。另外,利用菜單編輯器窗口界面左下角的第一個按鈕【Menu Bar】也可創建下拉式菜單;第二個按鈕【Context Menu】用于創建內容式菜單。而菜單編輯器界面左上角的第一個按鈕用于創建下拉式菜單的主菜單;第三個按鈕用于創建內容式菜單的主菜單;第二個按鈕分別用于創建下拉式菜單和內容式菜單的子菜單。利用Run工具按鈕可以隨時查看設計的圖形用戶界面的顯示結果。
用鼠標拖拉對象設計區(Layout Area)左邊的工具按鈕“”,便可在對象設計區依次生成Push Button,Slider,Radio Button,Check Box,Edit Text,Static Text,Pop-up Menu,ListBox,Toggle Button,Axes,Panel,Button Group,ActiveX Control等圖形控件對象。創建對象后,利用鼠標右鍵可顯示所選對象的一個彈出式菜單,可從中選擇某一個子菜單項進行相應的設計。通過雙擊該對象,也會顯示該對象的屬性編輯器(Property Inspector),并對其屬性值進行設置。
在對象設計區單擊鼠標右鍵,會顯示與編輯、設計整個圖形窗口有關的彈出式菜單。
【例1-40】 利用圖形用戶界面生成一個按鈕,來執行例1-6中的ex1-6.m程序。
解 ①利用Blank GUI模板,用鼠標拖拉在對象設計區生成一個“Push Button”按鈕;
②雙擊“Push Button”按鈕,顯示該按鈕的屬性編輯器(Property Inspector),并將“String”的屬性值Push Button改為“繪制極坐標方程曲線”;
③利用鼠標右鍵單擊“Push Button”按鈕,顯示該按鈕的彈出式菜單,執行菜單中的View Callbacks→Callback命令,按要求給定一個.fig文件名,如ex1-40后,自動打開一個同名的M文件,同時光標指向該按鈕的回調函數function pushbutton1-Callback(…)命令處;
④在ex1-40.m文件中的回調函數function pushbutton1-Callback(…)命令后,增加一條命令:ex1-6。保存ex1-40.m文件后,同時也將對象設計編輯器中的文件自動保存為ex1 40.fig。
⑤在MATLAB命令窗口中,直接輸入命令ex1-40,打開圖形用戶界面ex1-40.fig后,單擊其“繪制極坐標方程曲線”按鈕,便可顯示如圖1-5所示的結果。