1. 程式人生 > >Matlab第六課:圖形介面(GUI)程式設計

Matlab第六課:圖形介面(GUI)程式設計

目標:

  1. 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