1. 程式人生 > >Matlab GUI 介面設計基礎(1)

Matlab GUI 介面設計基礎(1)

matlab建立GUI有兩種方式,一種是用指令碼編寫,一種是用GUIDE建立。GUIDE 編寫GUI 方便、高效、性對比較簡單。

一、建立或開啟GUI

在Command 裡面輸入 GUIDE ,或者在open 選單裡建立或開啟 GUI(Graphical User Interface),建立的時候有幾種模板,一般預設(default)空(blank)模板。

二、編輯視窗

新建並且儲存後,會生成相應的.fig檔案和.m檔案,在編輯介面,可以看到:

(1)、GUI 物件選擇區,
提供可供選擇的GUI物件,包括觸控按鈕、靜態文字、slider、edit、table、彈起式選單、panel、axes 等。

(2)、GUI 工具欄,
包括對齊、編輯等工具。

(3)、GUi 佈局區,
用來安排GUI物件的位置,大小等;設定figure是否可變,是否顯示網格、參考線等。

(4)、對齊工具,
用來對齊佈局區的各個UI物件。

(5)、選單編輯器,
用來建立選單欄(Menu Bar)和右鍵選單(Context Menu),使用者建立的選單在標準彩電之後。

(6)、屬性檢視器
用來檢視、設定或修改物件的屬性。

(7)、物件瀏覽器
可以檢視當前設計階段的所有GUI物件及其組織關係。

三、GUI控制元件

除去選單外,所有常用的物件均在GUI 物件選擇區可以看到一共14個,包括
(1)、uicontrol物件:push button, slider, radio button, check box, edit text, static text, Pop-up menu, listbox, toggle button,
(2)、UI物件:panel, button group
(3)、資料可是化處理:table,axes
(4)、介面美觀:activeX control

控制元件的主要屬性包括:
a、控制元件風格和外觀
(1)BackgroundColor:設定控制元件背景顏色,
(2)CData:在控制元件上顯示的真彩色影象。
(3)ForegroundColor:文字顏色。
(4)String屬性:控制元件上的文字。
(5)Visible:控制元件是否可見。

b、物件的常規資訊
(1)Enable屬性: 表示此控制元件的使能狀態,設定為on”,表示可選,為“off”時則表示不可選。
(2)Style:控制元件物件型別。
(3)Tag:控制元件表示(使用者定義)。
(4)TooltipString屬性:提示資訊顯示。當滑鼠指標位於此控制元件上時,顯示提示資訊。
(5)UserData:使用者指定資料。
(6)Position:控制元件物件的尺寸和位置。
(7)Units:設定控制元件的位置及大小的單位
(8)有關字型的屬性,如 FontAngle, FontName等。

c、控制元件回撥函式的執行
(1)BusyAction:處理回撥函式的中斷。有兩種選項:即Cancel:取消中斷事件,queue:排隊(預設設定)。
(2)ButtonDownFcn屬性:按鈕按下時的處理函式。
(3)CallBack屬性:是連線程式介面整個程式系統的實質性功能的紐帶。該屬性值應該為一個可以直接求值的字串,在該物件被選中和改變時,系統將自動地對字串進行求值。
(4)CreateFcn:在物件產生過程中執行的回撥函式。
(5)DeleteFcn:刪除物件過程中執行的回撥函式。
(6)Interruptible屬性:指定當前的回撥函式在執行時是否允許中斷,去執行其他的函式。

d、控制元件當前狀態資訊
(1)ListboxTop:在列表框中顯示的最頂層的字串的索引。
(2)Max:最大值。
(3)Min:最小值。
(4)Value:控制元件的當前值。

四、回撥函式

在控制元件上右鍵,選擇CALLBACK,可以看到不同的函式,單擊選擇,會自動跳轉到M檔案下,GUIDE會自動生成 相應的函式體,函式名,名稱一般是 控制元件 Tag+ Call型別名 引數有三個 ( hObject, eventdata, handles)

其中 hObject 為當前物件的控制代碼,eventdata為附加資料結構,handles為所有物件的控制代碼。

CreateFcn 是在控制元件物件建立的時候發生(一般為初始化樣式,顏色,初始值等)
DeleteFcn 實在空間物件被清除的時候發生
ButtonDownFcn和KeyPressFcn分別為滑鼠點選和按鍵事件
CallBack為一般回撥函式,因不同的控制元件而已異。例如按鈕被按下時發生,下拉框改變值時發生,sliderbar 拖動時發生等等。

參考: