MATLAB GUI之ABC
GUIDE
属性设置
name 更改名字
logo
在GUI的“.m”文件中的OpeningFcn函数或者OutputFcn函数中添加以下代码:
% 设置页面左上角的 LogoI = imread( 'Logo.jpg' ); % Logo.jpg为指定的图标javaImage = im2java( I );newIcon = javax.swing.ImageIcon( javaImage );figFrame = get( handles.figure1, 'JavaFrame' ); % 取得Figure的JavaFramefigFrame.setFigureIcon( newIcon ); % 修改图标
本问题参考了网址:https://blog.csdn.net/hycwoaiyl/article/details/80113594
————————————————
版权声明:本文为CSDN博主「Daniel__Shi」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/shitao99/article/details/85955726
全局变量
“在函数或基本工作空间中,用global声明的变量为全局变量。”
“声明了全局变量的函数或基本工作空间,共享该全局变量,都可以给它赋值。”
“如果函数的子函数也要使用全局变量,也必须用global声明。”
“全局变量要放在函数开始处声明。”
在gui显示图像的toolbar
set( hObject, 'toolbar', 'figure' ); % 在菜单栏显示figure工具条的内容
GUI放到屏幕中央
需要选择其中一种代码,将其放置在GUI界面的XXX_OpeningFcn()函数下即可。 推荐使用前三种实现,简洁实用。
movegui( handles.figure1, 'center' ) % figure1为当前GUI界面的Tag
movegui( gcf, 'center' ); % 将GUI界面放置在桌面中央
movegui( hObject, 'center' ); % 将GUI界面放置在桌面中央
GUI的M文件
在MATLAB GUI中,数据分两种:GUI data和application data。 两种数据的存取机制是相同的,但是GUI data使用起来比较方便。
每一个GUI 图形界面都维持一个和自己的界面的图形(figure)相联系的一个handles数据结构,这个数据结构中容纳图形界面内所有控件(按钮、列表框、编辑框等)的句柄,相当于一个大的“容器”,里面存放了figure内所有控件的句柄。同时,handles结构也可以被figure内所有控件的回调函数访问,因为回调函数的输入参数中都有handles结构。此外,在控件的回调函数内可以把数据存储到handles结构中。
handles结构数据的取得和存储是通过guidata函数来实现的。
例如:在编辑框edi的回调函数内想获得t编辑框的句柄,hObject可以,也可以用handles.edit,这两个值是一样的,没有区别,只不过获得控件句柄的方式不同而已:hObject是调用回调函数时直接传过来的,handles.edit是从handles结构中取得的。但是,在控件的CreateFcn函数中如果想访问控件,必须用hObject,而不能用handles.edit,因为这时控件还没被创建,其句柄还没有加入到handles结构中。
各控件的回调函数中,hObject的值是不一样的,分别代表调用回调函数的控件的句柄,而handles结构却是一样的。这种机制便于figure内的不同控件的回调函数内传递数据。
Opening函数框架
GUI 文件执行函数的顺序是:
Opening函数−>Output函数−>回调函数Opening函数−>Output函数−>回调函数
并且,Opening 函数 、 Output 函数只执行在开始运行时执行一次。
若要根据用户的要求,输出到命令行,可以使用暂停和就行函数:uiwait,uiresumeuiwait,uiresume
具体如下
(1)添加 uiwait 到 Opening 函数中(如上,uiwait(handles.figure1);)
(2)在期望相应的回调函数中,更新 handles.output 值,并执行 uiresume。
回调函数
hObject, 当前 figure 句柄
eventdata, 附加参数,一般用不到
handles,当前 GUI 句柄,包含所有 GUI 对象的信息
- 利用函数 get 来取得句柄中的数据值,利用 set 来改变句柄中数据的值,并利用global 在不同的控件中共享数据。
- 设置:set(handles.控件的tag,'要设置的属性名','要设置的属性值')。比如:set(handles.edit1,'string','hello world');
- 获取:get(handles.控件的tag,'要获取的属性名')
MATLAB GUI之ABC的更多相关文章
- Matlab——GUI初涉
Matlab——GUI初涉 MATLAB GUI教学视频0:GUI中的基本操作—在线播放—优酷网,视频高清在线观看http://v.youku.com/v_show/id_XMjM2Mjk0MjM2. ...
- matlab GUI界面编程总结
去年做了一些关于Matlab GUI的程序,现在又要做相关的东西,回想起来,当时很多经验没有记录下来,现在回顾起来始终觉得不爽,所以从现在开始,一定要勤写记录. 从简单的例子说起吧. 创建Matlab ...
- 转载:关于Matlab GUI的一些经验总结
去年做了一些关于Matlab GUI的程序,现在又要做相关的东西,回想起来,当时很多经验没有记录下来,现在回顾起来始终觉得不爽,所以从现在开始,一定要勤写记录. 从简单的例子说起吧. 创建Matlab ...
- Matlab GUI设计中的一些常用函数
Matlab GUI常用函数总结 % — 文件的打开.读取和关闭% — 文件的保存% — 创建一个进度条% — 在名为display的axes显示图像,然后关闭% — 把数字转化为时间格式% — ch ...
- Matlab GUI界面
做SVD的时候,看学姐的demo,用到了matlab的GUI,感兴趣就自己学了一下: 从简单的例子说起吧. 创建Matlab GUI界面通常有两种方式: 1,使用 .m 文件直接动态添加控件 ...
- matlab GUI保存axes(坐标轴)上的图像
1.默认方式 matlab GUI默认菜单的保存图像默认为保持全部GUI,包括使用" 菜单->编辑->复制图形". 2 保存可见区域 2.1 代码 [FileName, ...
- [学习一个] Matlab GUI 学习笔记 Ⅰ
Matlab GUI 学习笔记 Ⅰ 1. Foreword Matlab 是严格意义上的编程语言吗?曾经有人告诉我他是通过 Matlab 学会了面对对象编程,我是不信的,但这依然不妨碍它在特殊领域的强 ...
- Matlab GUI memo
有一段时间没写博客,一周4篇文章都坚持不下来,不知道写哪个方面的内容,写研究相关就怕论文查重查到,其他方面也没太多时间去学.还是花时间多学点其他方面.废话到此,很早就做过matlab gui相关,现在 ...
- Matlab GUI读入图片
% --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, han ...
随机推荐
- 2019-02-03 线性表的顺序储存结构C语言实现
#include<cstdio> #define MAXSIZE 20 typedef int Elemtype; //Elemtype类型根据实际情况而定,这里取int typedef ...
- Pycharm下安装模块
方法一:使用Pycharm的终端安装 一.网络爬虫 1.安装requests包 作用:简洁且简单的处理HTTP请求的第三方库 网址:https://pypi.org/project/requests/ ...
- 《ElasticSearch入门》一篇管够,持续更新
一.顾名思义: Elastic:灵活的:Search:搜索引擎 二.官方简介: Elasticsearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTf ...
- 在IntelliJ IDEA中注释使用的说明
/** * @author 标明该类模块的开发作者 * @version 标明该类模块的版本 * @see 参开转向,也就是相关的主题 * @param 对方法中的某些参数进行说明 * @return ...
- Linux系统使用Nmon监控及分析系统性能
一.下载nmon(1)查看sever的内核版本: 命令:lsb_release -a执行结果:LSB Version: :base-4.0-amd64:base-4.0-noarch:c ...
- tensorflow-TFRecord 文件详解
TFRecord 是 tensorflow 内置的文件格式,它是一种二进制文件,具有以下优点: 1. 统一各种输入文件的操作 2. 更好的利用内存,方便复制和移动 3. 将二进制数据和标签(label ...
- 为什么用抓包工具看HTTPS包是明文的
测试或者开发调试的过程中,经常会进行抓包分析,并且装上抓包工具的证书就能抓取 HTTPS 的数据包并显示.由此就产生了一个疑问,为什么抓包工具装上证书后就能抓到 HTTPS 的包并显示呢?不是说 HT ...
- 他被称为"中国第一程序员",微软得不到他曾想毁了他,如今拜入武当修道
GitHub 15.4k Star 的Java工程师成神之路,不来了解一下吗! GitHub 15.4k Star 的Java工程师成神之路,真的不来了解一下吗! GitHub 15.4k Star ...
- 一分钟开始持续集成之旅系列之:Java + GWT
作者:CODING - 朱增辉 前言 Google Web Toolkit(GWT)是一个开源.免费的 Web 开发框架,通过该框架,您可以使用 Java 构建复杂.高性能的 JavaScript 应 ...
- SpringBoot项目jar包启动脚本
startup.bat @echo off set path=X:\xxxxxxx\Java\JDK\jre\bin START "项目名" "%path%\java&q ...