本文是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界面程序