本文主要是介绍Matlab的GUI界面(理解+徒手写),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
matlab的组织构架其实和python是类似的,全都是基于对象的。
比如平时画图plot函数,画出的一个figure,就是一个Figure对象。每个对象都有自己的属性,通过get函数获取对象属性,set函数来修改对象属性。
gcf 返回当前Figure 对象的句柄值
gca 返回当前axes 对象的句柄值
gco 返回当前鼠标单击的句柄值,该对象可以是除root 对象外的任意图形对象,并且Matlab 会把当前图形对象的句柄值存放在Figure 的CurrentObject属性中。
下面做一个示例,纯粹手动写一个figure,sin函数,曲线每隔1s变一次颜色:
h = figure('Units', 'Normalized', ...'Position', [0.2 0.2 0.2 0.2],...'Menu', 'none');ha = axes('Parent',h, 'Units', 'Normalized', ...'Position', [0.1 0.1 0.85 0.85]);
hl = line('Parent', ha, 'XData', [0:0.01:6], 'YData', sin([0:0.01:6]), 'Color', 'r');cstring = 'gbkmy';
for k = 1:5set(hl, 'Color', cstring(k));pause(1);
end
哈哈,第一次录制gif格式动图,虽然csdn上显示会出错,但是还是贴上啦啦啦
下面是GUI常用属性
示例2:
hf = figure(...'Units', 'Normalized', ...'Menu', 'none',...'Color', 'w',... %Color指背景颜色,w是白色,平时划线的时候不用白色,所以不熟'Position', [0.1 0.1 0.4 0.4]);ha = axes(...'Parent',hf,...'Units', 'Normalized', ...'Position', [0.1 0.1 0.6 0.8], ...'NextPlot', 'Add', ... %就是hold on命令'Box', 'on'); %加上外框hb1 = uicontrol(...'Style', 'pushbutton',...'Callback', 'try, delete(allchild(ha)); end', ...'String', 'clear', ...'Units', 'Normalized',...'Position', [0.78 0.25 0.15 0.1]);hb2 = uicontrol(...'Style', 'pushbutton',...'Callback', 'plot(sin([0: 0.01: 10]));', ...'String', 'sin', ...'Units', 'Normalized',...'Position', [0.78 0.45 0.15 0.1]);hb3 = uicontrol(...'Style', 'pushbutton',...'Callback', 'plot(cos([0: 0.01: 10]));', ...'String', 'cos', ...'Units', 'Normalized',...'Position', [0.78 0.65 0.15 0.1]);
总结:
matlab的GUI界面编辑比较简单,控件的定义使用只是更改类的属性即可。
学习链接
matlab的GUI的学习来源于bilibili网站的课程,感谢up主的分享,跟着up主一起徒手写GUI吧~
链接如下:
https://www.bilibili.com/video/BV1Sx411G7mT?from=search&seid=13985230084143289276
这篇关于Matlab的GUI界面(理解+徒手写)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!