本文是MATLAB GUI界面開發入門系列教程第一篇。本系列教程面向對象純新手。經過該系列教程的學習,預期能夠獨立使用MATLAB編寫中小型GUI界面軟件。
目錄
1 GUIDE入門
1.1 GUIDE界面設計窗口簡介
1.2 設計界面
1.3 代碼設計
1.4 運行界面程序
1 GUIDE入門
如標題所言,該篇實現一個簡易圖片瀏覽器,效果如下圖。整個GUI程序需要編寫的代碼僅有兩行。麻雀雖小,五臟俱全。下面開始學習。
1.1 GUIDE界面設計窗口簡介
啓動MATLAB後,在命令行窗口輸入guide,彈出GUIDE快速入門窗口界面。一般選擇默認guide模板Blank GUI,點擊確定,如圖1。即將進入GUI界面設計窗口。
guide
圖1 guide快速入門窗口
圖2 新建的GUI界面
圖2中,左側爲可用控件,右側爲所見即所得的界面設計區域,狀態欄的左側顯示當前選中的控件。右側是當前鼠標所在位置和控件的位置。
常用控件包括:
-
按鈕
-
滑動條
-
單選按鈕
-
複選框
-
可編輯文本
-
靜態文本
-
彈出式菜單
-
列表框
-
切換按鈕
-
表
-
座標區
-
面板
-
按鈕組
-
ActiveX控件
工具欄依次爲:
-
對齊工具
-
菜單編輯器
-
tab鍵順序編輯器
-
工具欄編輯器
-
編輯器
-
屬性檢查器
-
對象瀏覽器
1.2 設計界面
在本章我們將學習界面設計。從左邊控件區拖到所需的控件到右側佈局窗口中添加所需的控件。在本示例中使用總共使用了4個控件,分別是靜態文本、座標區、可編輯文本、按鈕。調整控件的位置和大小,得到下圖效果。我們點擊"文件/另存爲",將文件保存文件my_demo.fig,這是MATLAB將自動創建my_demo.fig和my_demo.m兩個文件。其中.fig文件是界面文件,.m文件是代碼文件。
圖3 給界面添加控件
我們需要對控件的屬性進行編輯。以靜態文本爲例,選中靜態文本,雙擊進入檢查器窗口。在檢查器窗口中可以對控件的屬性進行修改。將String修改成"圖像查看器",FontSize屬性設置成16(如下圖)。
圖4 屬性檢查器的使用
類似的對按鈕和可編輯文本區控件進行修改。
按鈕:String屬性設置成”顯示圖像"。
可編輯文本區:String設置成"輸入圖像路徑..."。
座標區:xTick設置成[], yTick設置成[]。
圖5 設計好的界面效果
點擊工具欄中的運行▶,即可查看到預覽效果。這時的界面沒有任何功能。
1.3 代碼設計
在本節中,爲設計好的界面添加代碼,實現圖像查看功能。選中"查看圖像”按鈕,點擊右鍵,在彈出的菜單中選擇"查看回調”菜單下的“Callback",matlab將自動爲按鈕創建回調函數(如圖7,8)。在創建的回調函數中,即可添加功能代碼。
圖7 生成按鈕的callback
圖8 自動生成的callback函數代碼
添加如下代碼(6-7行),並保存代碼文件。
% --- Executes on button press in pushbutton1.
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)
img_path = handles.edit1.String; % 獲取圖片文件路徑
imshow(img_path, 'Parent', handles.axes1); % 顯示圖像
1.4 運行界面程序
運行界面程序有三種方法。
-
guide編輯器中點擊運行按鈕
-
在m文件編輯器點擊運行按鈕
-
在命令行窗口輸入"my_demo"
在輸入框中輸入圖片路徑,例如"C:\Users\Admin\Pictures\timg.jpg",點擊”查看圖像按鈕",即可顯示圖像。
圖9 功能實現的GUI界面程序