编程代码设计GUI界面

发布时间:2024年01月09日

前情提要

GUI界面有元件拖动和编程代码两种设计方式,元件拖动比较直观,编程代码更加细致。本来搞了一个包含各种元件的项目,最后发现代码比较长,一下子扔出来对初学者非常不友好,所以我们分开一段一段来添加,以元件作为单位,由易到难。

普通按钮

hf=figure('position',[200 200 600 400],'Name','uicontrol1','NumberTitle','off');%窗口名字uicontrol1,隐藏窗口序号
ha=axes('position',[0.4 0.1 0.5 0.7],'Box','on');%开一个区域
hbsin=uicontrol(hf,...%在窗口里面添加普通按钮
    'Style','pushbutton',...%sin按钮
    'Position',[50 140 100 30],...
    'String','Plot sin(x)',...
    'CallBack',...
    ['hold off;'...
    'subplot(ha);'...%在区域里面作图
    'x=0:0.1:4*pi;'...
    'plot(x,sin(x));'...
    'axis([0 4*pi -1 1]);'...
    'grid on;'...
    'xlabel("x");'...
    'ylabel("y=sin(x)");'...
    ]);
hbcos=uicontrol(hf,...
    'Style','pushbutton',...%cos按钮
    'Position',[50 100 100 30],...
    'String','Plot cos(x)',...
    'CallBack',...
    ['hold on;'...
    'subplot(ha);'...
    'x=0:0.1:4*pi;'...
    'plot(x,cos(x));'...
    'axis([0 4*pi -1 1]);'...
    'grid on;'...
    'xlabel("x");'...
    'ylabel("y=cos(x)");'...
    ]);
hbclose=uicontrol(hf,...%close按钮
    'Style','pushbutton',...
    'Position',[50 60 100 30],...
    'String','close',...
    'CallBack','close(hf)');

实验效果

单选按钮

hrboxoff=uicontrol(gcf,'Style','radio',...%选中关闭密封坐标轴单选按钮
                'Position',[50 180 100 20],...%位置
                'String','set box off',...
                'Value',0,...
                'CallBack',[...
                'set(hrboxon,"Value",0);'...%显示选中效果
                'set(hrboxoff,"Value",1);'...
                'set(gca,"Box","off");']);
hrboxon=uicontrol(gcf,'Style','radio',...
                'Position',[50 210 100 20],...
                'String','set box on',...
                'Value',1,...
                'CallBack',[...
                'set(hrboxon,"Value",1);'...
                'set(hrboxoff,"Value",0);'...
                'set(gca,"Box","on");']);
                

实验效果

框架

在放入其他元件之前,框架应该先定义,不然会被覆盖。把下面这句代码放在单选按钮前面。

hfr=uicontrol(gcf,'style', 'frame','Position',[48 178 104 58]);%添加框架

实验效果

文章来源:https://blog.csdn.net/qiu421/article/details/135471187
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。