经典GUI基础入门:MATLAB中GUI用户图形界面学习

上传人:飞****9 文档编号:131939630 上传时间:2020-05-11 格式:PDF 页数:15 大小:577.31KB
返回 下载 相关 举报
经典GUI基础入门:MATLAB中GUI用户图形界面学习_第1页
第1页 / 共15页
经典GUI基础入门:MATLAB中GUI用户图形界面学习_第2页
第2页 / 共15页
经典GUI基础入门:MATLAB中GUI用户图形界面学习_第3页
第3页 / 共15页
经典GUI基础入门:MATLAB中GUI用户图形界面学习_第4页
第4页 / 共15页
经典GUI基础入门:MATLAB中GUI用户图形界面学习_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《经典GUI基础入门:MATLAB中GUI用户图形界面学习》由会员分享,可在线阅读,更多相关《经典GUI基础入门:MATLAB中GUI用户图形界面学习(15页珍藏版)》请在金锄头文库上搜索。

1、GUI 指导教程系列 1 GUI 入门基本操作 为什么在 MATLAB 中要使用 GUI 呢 其实 GUI 就是 Matlab 中的 Visual Basic 是面向对象的编程 可以使 Matlab 程序的终端用户 即使不懂的 Matlab 也可以 轻易操作该程序 如果没有图形用户界面 GUI 我们只能从命令行 Command Window 中调用相关程 序 这相对比较繁琐 并且不是所有用户都是这个能力 就好比计算机的 DOS 系统 在有 windows 的情况下 您会选择 DOS 吗 当然我们也不排除骨灰级的人 物 在本节教程我们主要针对没有 GUI 创建和使用经历的网友 但是必要的 MAT

2、LAB 基础知识是需要的 在教程中我们将创建一个简单的 GUI 程序 它执行两个数的 加法运行 然后显示其运算结果 好下面开始我们的教程 一 打开和创建一 打开和创建 GUIGUI 界面界面 1 首先打开 Matlab 在 Command Window 中输入 guide 回车 2 此时打开 GUI 编辑器 GUIDE GUI Developer 的缩写 2 1 界面上有两个标签也 Creat New GUI 和 Open Existing GUI 如果创建新的 GUI 此时我们选择第一个标签页 但如果打开其它已经存在的 GUI 就点击第二个标签吧 2 2 这里我们选择第一个标签下的 Blan

3、k GUI 空白 GUI 下面还有几个系 统 GUI 模版 你可以根据需要选择其它的 2 3 点击 OK 我们正式进入 GUIDE 界面 呵呵 是不是感觉似曾相识 3 添加你需要的控件到 figure 中 在添加控件之前 您最好对您的 GUI 界面布局已经有一定的构思了 否则盲目性 太大了不利于您的编程 下面是我们构思的布局 二 添加控件和设置属性二 添加控件和设置属性 在正式讲解之前 我们先讲解下 GUI 中的鼠标基本操作 a 在左边的控件面板中鼠标左击选择您需要的控件 然后放开鼠标 b 在右边的 figure 中按住左键 画出您的控件 于是空间就在 figure 上 c 你可以用鼠标拖拽

4、figure 上所有控件 来改变他们的位置 d 在控件上双击鼠标左键 右击是快捷菜单 可打开控件属性面板 1 从上面的布局构思 我们知道本 GUI 需要以下控件 三个 编辑文本框 Edit Text 三个 静态文本框 Static Text 一个 确定按钮 Pushbutton 按照上面介绍的鼠标操作方法 将这 6 个控件拖到右边的 figure 中 如下图所 示 2 接下来就是编辑这些控件的属性 好 下面从 Static Text 开始吧 双击其中一个 静态文本块 将跳出该控件 的 属性查看器 Property Inspector GUI 控件的几个常用属性说明如下 position 指示空

5、间在 figure 中的位置 font 字体相关属性 string 相当如 VB 中的 caption 就是显示在控件上的文字 tag 控件的唯一标识符 相当于 ID 我们需要 tag 来指定某一个空间 2 1 在这里我们修改它的 string 属性为 2 2 同理修改它的 fontsize 属性为 20 在编辑完这些属性后 直接点击右上角的 关闭 按钮 关闭属性查看器 此时 属性会自动保存 回到 GUIDE 如果控件上的文字被部分隐盖 此时可以通过鼠 标拖拽改变控件的大小 二 添加控件和设置属性二 添加控件和设置属性 在正式讲解之前 我们先讲解下 GUI 中的鼠标基本操作 a 在左边的控件面

6、板中鼠标左击选择您需要的控件 然后放开鼠标 b 在右边的 figure 中按住左键 画出您的控件 于是空间就在 figure 上 c 你可以用鼠标拖拽 figure 上所有控件 来改变他们的位置 d 在控件上双击鼠标左键 右击是快捷菜单 可打开控件属性面板 1 从上面的布局构思 我们知道本 GUI 需要以下控件 三个 编辑文本框 Edit Text 三个 静态文本框 Static Text 一个 确定按钮 Pushbutton 按照上面介绍的鼠标操作方法 将这 6 个控件拖到右边的 figure 中 如下图所 示 2 接下来就是编辑这些控件的属性 好 下面从 Static Text 开始吧 双

7、击其中一个 静态文本块 将跳出该控件 的 属性查看器 Property Inspector GUI 控件的几个常用属性说明如下 position 指示空间在 figure 中的位置 font 字体相关属性 string 相当如 VB 中的 caption 就是显示在控件上的文字 tag 控件的唯一标识符 相当于 ID 我们需要 tag 来指定某一个空间 2 1 在这里我们修改它的 string 属性为 2 2 同理修改它的 fontsize 属性为 20 在编辑完这些属性后 直接点击右上角的 关闭 按钮 关闭属性查看器 此时 属性会自动保存 回到 GUIDE 如果控件上的文字被部分隐盖 此时可

8、以通过鼠 标拖拽改变控件的大小 2 3 重复上面的操作 1 将第二个 Static Text 的 string 改为 fontsize 为 20 2 第三个 Static Text 的 string 改为 My Adder GUI fontsize 为 20 于是 我们将得到如下所示的 GUI 界面 2 4 下面双击 Edit Text 修改编辑文本框的属性 1 第一个 Edit Text 的用来存储第一个加数 我们将 string 改为 0 tag 改为 input1 editText 2 第二个 Edit Text 的用来存储第二个加数 我们将 string 改为 0 tag 改为 inp

9、ut2 editText 3 第三个 Edit Text 的 string 改为 0 tag 为 answer static Text 2 5 修改 Pushbutton 按钮的属性 string 改为 Add tag 改为 a dd pushbutton 再次预览下我们现在得到的 GUI 界面 3 重新布局和移动控件位置 使其美观 将上面编辑完的 GUI 程序保存为 myAdder 此时在当前目录下 Matlab 将自动生 成如下来个两个文件 myAdder m 和 myAdder fig fig 文件包含了程序的图形用 户界面 m 文中包含了 GUI 所需的回调函数和其他必须代码 三 书写

10、三 书写 GUIGUI 回调函数回调函数 callback callback 代码代码 在保存 GUI 程序时 Matlab 会自动生成 fig 和 m 文件 其中的 m 就是我们现在 要操作的对象 我们就是 M 文件中添加控件的回调函数相应用户的操作 这也是 GUI 编程的核心 内容 它要求你必须掌握 Matlab 基本编程以及图形句柄语句 打开 m 文件 发现里面有很多 function 的代码 看得我们眼花缭乱 呵呵 不 要胆怯 本教程是初级教程 我们只涉及里面的 callback 其他的我们可以暂 时置之不理 至于其它的我们以后的教程中对做相关介绍 在正式讲解之前 一个小使用技巧 Ma

11、tlab Editor 代码编辑器 工具栏显示函 数按钮 可以让我们快速跳转我们需要的函数位置 这个在 m 内容很多的时候很有用 哦 1 在 Editor 中工具栏的函数 Show Function 中选择 input1 editText Callbac k 或者右击 tag 为 input1 editText 的编辑文本框 View Callback Callback 2 此时光标会跳转到 m 文件的 function input1 editText Callback 处 方便 我们直接编辑 1 function input1 editText Callback hObject eventd

12、ata handl es 2 hObject handle to input1 editText see GCBO 3 eventdata reserved to be defined in a future version of MATLAB 4 handles structure with handles and user data see GUIDAT A 5 6 Hint get hObject String returns contents of input1 ed itText as text 7 str2double get hObject String returns cont

13、ents of 8 input1 editText as a double 复制代码 在上面代码下添加如下 MATLAB 代码 1 handles 包含 figure 中所有图形对象句柄的结构体 如果我们想 引用 tag 为 mytag 的控件 使用 handles mytag 2 set get 函数是用来设置 获取某个控件属性 3 使用 get 命令获取第一个加数 并将它转换成数值 4 input str2num get hObject String string 属性是字符 串 所以必须转换成数值 5 6 检验输入是否为空 是则将它置为 0 7 if isempty input 8 se

14、t hObject String 0 9 end 10 11 保存 handles 结构体 只要在 handles 结构体有改变时 才需要保 存 12 guidata hObject handles 这里由于 handles 没有改变 故这 里其实没有必要 但是为了避免潜在的不必要麻烦 建议在所有 Cal lback 最后都添加该命令 复制代码 3 为 input2 editText Callback 添加完全相同的代码 4 编辑 add pushbutton Callback 回调函数 使用上面提到的方法 将光标定 位到 1 Executes on button press in add p

15、ushbutton 2 function add pushbutton Callback hObject eventdata handle s 3 hObject handle to add pushbutton see GCBO 4 eventdata reserved to be defined in a future version of MATLAB 5 handles structure with handles and user data see GUIDAT A 复制代码 在后面我们添加上如下代码 1 a get handles input1 editText String 2

16、b get handles input2 editText String 3 a 和 b 是字符串变量 我们需要使用 str2double 函数将其转换为 数值 4 然后才能相加 否则字符串是没法相加的 5 total str2num a str2num b 格式转换 转换为数值 6 由于 string 属性是字符串 所以必须将两个数的和转换为字符串 7 c num2str total 转换为字符串 8 将结果赋值给 answer staticText 空间的 string 属性 于是就可 以显示结果了 9 set handles answer staticText String c 10 guidata hObject handles 更新结构体 复制代码 恭喜您 到此为此这个恭喜您 到此为此这个 GUIGUI 程序就完成了 程序就完成了 接下来就可以运行和演示它了 有一个小技巧要告诉大家的 如果您在第一次保存 GUI 程序时 不想让 Matlab 为每一个 callback 回调函数自动生成注释文本 可以如下操作 File Prefer ences 如果不想让 Matlab 自动生

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号