Matlab第六課:圖形介面(GUI)程式設計
阿新 • • 發佈:2018-11-17
目標:
- Graphical User Interface
一、MATLAB GUI Programs
開始完成一個GUI程式:
1.建立一個資料夾,儲存程式
2.使用 guide 命令在命令列建立一個matlab GUI 介面
3.可以拖動元件,建立GUI
相關元件的說明:
4.點選執行,儲存,就生成了一個GUI
5.調整元件的排列,第一種是在第三部的介面直接拖動元件,第二種如下:
- 選中要排列的元件
- 點選選單欄工具,對齊物件,到達如下介面進行設定
調整後的GUI如下所示:
6.在第三步的介面雙擊元件,調出檢查器,更改元件的屬性
上面是我們操作matlab簡單的建立了一個圖形介面,生成一個GUI包括兩部分,一是:.fig檔案存放的是GUI介面。二是:.m檔案存放的是元件相關程式碼,並可以在程式碼中進行操作,為GUI新增功能。
首先:看看.m檔案程式碼的結構
在untitled_OpeningFcn()函式中,新增程式碼,這個函式是在程式執行時,就開始執行。執行程式碼,得到如下的GUI
當我們將上述程式碼新增到pushbutton1_Callback()中時,當我們點選按鈕1,才會畫圖。可以自行執行程式,效果和上圖相同。
function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) handles.peaks=peaks(35); handles.membrane=membrane; [x,y] = meshgrid(-8:.5:8); r = sqrt(x.^2+y.^2) + eps; sinc = sin(r)./r; handles.sinc = sinc; handles.current_data = handles.peaks; surf(handles.current_data)
當我們有連個axes時,如下:
我們需要分析元件的handle:
如果,不對其進行限制,影象會顯示在第二個axes上,我們限制其顯示在第一個axes上。
修改程式碼如下:
set()和get(): 獲取屬性與建立屬性
建立一個text元件和一個slider元件。當滑動slider時,字串更改為test
Use Handles to Store Variables :
Compiling the GUI Program:
將我們的程式轉化為.exe檔案,讓程式在別的電腦上依然可以執行。
deploytool:打包成.exe