前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >纯代码实现matlabのGUI界面搭建

纯代码实现matlabのGUI界面搭建

作者头像
巴山学长
发布2019-07-15 16:23:11
1.5K0
发布2019-07-15 16:23:11
举报
文章被收录于专栏:巴山学长

图形用户界面 (Graphical User Interface,简称 GUI),是有别于纯代码执行,GUI能够繁琐的代码浓缩到一块简洁的界面上,用户只需要输输参数、点点鼠标就能得到自己想要的结果,具有极强的交互性和友好性。之前介绍了一个通过matlab的GUIDE工具箱来开发一个简单计算的实例 (GUIDE例 开发简单计算器),使用工具箱来开发GUI界面的有点是显而易见的,所见即所得。可有时候并不需要开发一个界面内容极其丰富的程序,只是做一个简单的交互界面,这时候使用工具箱多少显得有些大材小用。

今天给大家介绍如何通过纯代码的方式来搭建GUI界面,纯代码编写具有可移植性强的特点。下面有请今天的主角 —— uicontrol函数,闪亮登场 (示例:如用matlab实现SEM/TEM/金相等图片自动加标尺???)。通过uicontrol函数创建一个用户界面控件, 通过更改相应的属性值, 可以得到不同界面控件。下面介绍一种uicontrol函数的常用调用方式:

c = uicontrol(parent, Name, Value, ...)

parent — 父对象的句柄,Name — 对应控件名称,Value — 对应控件的属性值。

表1 uicontrol部分属性功能

下面以单选框为例来简单说明 uicontrol的使用方法:

代码语言:javascript
复制
clc;clear;close all;
%% 创建界面
clc;clear;close all;
scr = get(groot,'ScreenSize');
pict=figure('position',[scr(3)/2-200,scr(4)/2-100, 500,100],'name','感谢关注matlab爱好者公众号','NumberTitle','off','menubar','none','toolbar','none',...
 'Resize','off');
uicontrol(pict,'style','Radiobutton','position',[100 50 300 30],'string','我是单选框,点我执行绘图哦','FontSize',16,'ForegroundColor','b','Callback','callBTest()');

首先获取父窗口figure的窗口句柄pict,并填入到第一个参数里面;第二个参数为‘style’属性,后面紧跟属性值'Radiobutton';第三个参数为‘position’,用于定义控件在父窗口中的位置,格式为[左 底 宽 高],即控件在父窗口中距窗口左边的距离,距窗口底边的距离,以及控件自身的宽和高;第四个参数为‘string’,定义控件的标题名称;第五、六位设置字体大小和字体颜色,还有其他别的设置,在此不赘述;第七个参数为‘Callback’回调函数,这也是控件最重要的一个属性,往往通过回调函数来实现应有的功能,后面跟的参数必须是字符串,如本例中的函数为‘callBTest()’,建议此处直接写函数,因为低版本matlab不支持双引号字符串可能会导致程序运行错误。

运行效果图:

以上是对纯代码实现GUI界面搭建的一个简单介绍,matlab提供UI函数也不止这一个,如uibuttongroupuipaneluisetfontuisetcolor等函数等待大家去开发利用。本文只是个引子,如果大家感兴趣也可查看其他用代码实现GUI界面搭建的推文。

想要获取文中完整代码的小伙伴请直接在公众号对话中复“GUI”、“界面”、“搭建”即可获取相关下载链接。

欢迎大家积极参与公众号的讨论,多提提宝贵的建议,最后感谢大家的关注和支持!!!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-06-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 巴山学长 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档