⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 maingui.m

📁 应用matlab的GUI功能设计用户图形界面的一些例子.
💻 M
📖 第 1 页 / 共 4 页
字号:
function FI=maingui


screensize=get(0,'screensize');
screenwidth=screensize(3);
lxoffset=.075;
if screenwidth>1000
    scrx=0.12;
    scry=.79;
    scrpa=.1;
else
    scrx=1.15;
    scry=1.06;
    scrpa=0;
end
%======================================================
%                      建立视图
%======================================================
strings={'XXXXXXXX','AAA','BBB','CCC'};
tabDims{1}=[100 50 50 50]';tabDims{2}=16;
callback='tabchange';
sheetDims=[800  400];
offsets=[3 5 5 3]';
default_page=1;
FI=tabfig('create',strings,tabDims,callback,sheetDims,offsets,default_page);
%---------初始化位置----------
po=screensize;
po(2)=screensize(2)+25;
po(4)=screensize(4)-25;
set(FI,'outerposition',po,'resize','off','visible','off','name','XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX','DeleteFcn',@deleteFigure);
%--------鼠标拖拽--------
set(FI,'unit','norm',...
     'WindowButtonDownFcn',       'buttondown_callback',...
     'WindowButtonMotionFcn',     [],...%鼠标按下后设置,松开后置空
     'WindowButtonUpFcn',         'buttonup_callback'...
    );
%--------默认参数--------
setappdata(FI,'over',1);
setappdata(FI,'tab',default_page);
setappdata(FI,'filterpattern',[1 1 1 1]);
setappdata(FI,'simpattern','realtime');
setappdata(FI,'trajload',0);
setappdata(FI,'GGGout',0);
axes('parent',FI,'unit','norm','pos',[.38 .95 .16 .05]);
axis off

statuspanel=uipanel('back',[.8 .8 .8],'unit','norm','parent',FI,'pos',[.62 .945 .375 .054],'bordertype','line','highlight','k');
saxis=axes('parent',statuspanel,'unit','norm','pos',[0,0,1,1]);
axis off
dx0=.02;dy0=.001;
gpsstatus=uipanel('unit','norm','parent',FI,'pos',[.4+dx0 .944+dy0 .06 .035],'bordertype','beveledin');
gpstext=uicontrol('style','text','unit','norm','parent',gpsstatus,'pos',[0 0 1 .8],'string','GGG','fontsize',9,'enable','off');
tacanstatus=uipanel('unit','norm','parent',FI,'pos',[.464+dx0 .944+dy0 .06 .035],'bordertype','beveledin');
tacantext=uicontrol('style','text','unit','norm','parent',tacanstatus,'pos',[0 0 1 .8],'string','TTTT','fontsize',9,'enable','off');
flirstatus=uipanel('unit','norm','parent',FI,'pos',[0.5280+dx0 .944+dy0 .06 .035],'bordertype','beveledin');
flirtext=uicontrol('style','text','unit','norm','parent',flirstatus,'pos',[0 0 1 .8],'string','FFFF','fontsize',9,'enable','off');
statushandle=text(0,0.5,{'『XXXX:SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS';'  YYYY:UUUU    GGGG:NN』'},...
      'color',[.2,.5,.6],'tag','status','ButtonDownFcn',@statusbar_callback,'parent',saxis);

if screenwidth>1000
    set (statushandle,'fontsize',9);
else
    set (statushandle,'fontsize',7);
end
setappdata(FI,'statushandle',statushandle);
setappdata(FI,'gpstext',gpstext);
setappdata(FI,'tacantext',tacantext);
setappdata(FI,'flirtext',flirtext);




%======================================================
%                    创建面板
%======================================================
color.back=[.1 .1 .15];                     
color.shadowcolor=[.1 .1 .2];                      
color.highlightcolor=[1 1 1]; 
mp=findobj(FI,'tag','mainpanel');    %主panel
ep=uipanel('parent',mp,'back',color.back,'unit','norm','position',[0.0058 0.0412 .97 .95],'bordertype','etchedin','borderwidth',1,...
    'shadowcolor',[.2 .2 .2],'highlightcolor',[1 1 1],'titleposition','leftbottom','hittest','off','tag','ep_panel','userdata',[0 0]); %效果panel,userdata为鼠标按下位置
cp=uipanel('parent',ep,'back',color.back,'unit','norm','position',[0.00483 0.0058 .9906 .985],'bordertype','none','borderwidth',1,...
    'shadowcolor',[0 0 0],'highlightcolor',[1 1 1],'titleposition','leftbottom','hittest','off'); %容器panel  
ap=uipanel('parent',cp,'back',color.back,'unit','norm','position',[0 -.542 1.1980 1.5420],'bordertype','none','borderwidth',1,...
    'shadowcolor',[0 0 0],'highlightcolor',[1 1 1],'tag','ap','titleposition','leftbottom','hittest','off'); %调整panel 
%---------------------------------
handles.mp=mp;
handles.ep=ep;
handles.cp=cp;
handles.ap=ap;


%==============================================================
%                         创建轴
%==============================================================

%============== TAB1 =================
%%panel
horizontalbias=.0035;                  verticalbias=.0053;
left1=0;                               width1=0.456;
left2=width1-horizontalbias;           width2=.276+horizontalbias;
left3=width1+width2-2*horizontalbias;  width3=1-width2-width1+2*horizontalbias;
heightbar=.05;                         height1=.2;
bottom1=0;                             bottom2=height1-verticalbias;
height2=.2;                            bottom3=height1+heightbar-2*verticalbias;
bottom4=height1+height2+heightbar-3*verticalbias;
bottom5=bottom4+heightbar-verticalbias;
height3=(1-4*heightbar-height1-height2)/2+3.1*verticalbias;
bottom6=bottom5+height3-verticalbias;
bottom7=bottom6+heightbar-verticalbias;
bottom8=bottom7+height3-verticalbias;
position1 = ...
[left1 bottom1 width1 height1              %第一列,至下往上
 left1 bottom2 width1 heightbar
 left1 bottom3 width1 height2
 left1 bottom4 width1 heightbar
 left1 bottom5 width1 height3*2+heightbar
 left1 bottom8 width1 heightbar
 %----------------
 left2 bottom1 width2 height1              %第二列,至下往上
 left2 bottom2 width2 heightbar
 left2 bottom3 width2 height2
 left2 bottom4 width2 heightbar
 left2 bottom5 width2 height3
 left2 bottom6 width2 heightbar
 left2 bottom7 width2+width3-horizontalbias height3
 left2 bottom8 width2+width3-horizontalbias heightbar
 %-----------------
 left3 bottom1 width3 height1              %第三列,至下往上
 left3 bottom2 width3 heightbar
 left3 bottom3 width3 height2
 left3 bottom4 width3 heightbar
 left3 bottom5 width3 height3
 left3 bottom6 width3 heightbar-scrpa*.01];
 le=length(position1);
 for i=1:le
     panel(1,i)=uipanel('parent',ap,'back',color.back,'unit','norm','pos',position1(i,:),'bordertype','etchedout','borderwidth',2,...
    'shadowcolor',[.48 .48 .48],'highlightcolor',[.97 .97 .97],'visible','on');
 end 
 %%文字
 axes('parent',ap,'unit','norm','Position',[0 0.96 .2 .03],'visible','off');
 panel(1,le+1)=text(0.05,.45,'FFFF              WWWW','color',[.97 .97 .97],'fontname','华文楷体','fontsize',14,'fontweight','bold');
 axes('parent',ap,'unit','norm','Position',[0.46 0.96 .2 .03],'visible','off');
 panel(1,le+2)=text(0.01,.45,'HHHH','color',[.97 .97 .97],'fontname','华文楷体','fontsize',14,'fontweight','bold');
 axes('parent',ap,'unit','norm','Position',[0 0.446 .2 .03],'visible','off');
 panel(1,le+3)=text(0.07,.45,'BBBB:DDDD     EEEE     GGGG','color',[.97 .97 .97],'fontname','华文楷体','fontsize',13,'fontweight','bold');
 axes('parent',ap,'unit','norm','Position',[0.46 0.703 .2 .03],'visible','off');
 panel(1,le+4)=text(0.01,.45,'SSSSSSSS','color',[.97 .97 .97],'fontname','华文楷体','fontsize',14,'fontweight','bold');
 axes('parent',ap,'unit','norm','Position',[0.735 0.703 .2 .03],'visible','off');
 panel(1,le+5)=text(0.01,.45,'GGGGGG','color',[.97 .97 .97],'fontname','华文楷体','fontsize',14,'fontweight','bold');
 axes('parent',ap,'unit','norm','Position',[0.46 0.446 .2 .03],'visible','off');
 panel(1,le+6)=text(0.01,.45,'GGGGGGGG','color',[.97 .97 .97],'fontname','华文楷体','fontsize',14,'fontweight','bold');
 axes('parent',ap,'unit','norm','Position',[0.735 0.446 .2 .03],'visible','off');
 panel(1,le+7)=text(0.01,.45,'AAAAAAAA','color',[.97 .97 .97],'fontname','华文楷体','fontsize',14,'fontweight','bold');
 axes('parent',ap,'unit','norm','Position',[0 0.205 .2 .03],'visible','off');
 panel(1,le+8)=text(0.07,.45,'GGGGGG:RRRR      SSSS     LLLL','color',[.97 .97 .97],'fontname','华文楷体','fontsize',13,'fontweight','bold');
 axes('parent',ap,'unit','norm','Position',[0.46 0.205 .2 .03],'visible','off');
 panel(1,le+9)=text(0.01,.45,'HHHHHHHH','color',[.97 .97 .97],'fontname','AAAAAAAA','fontsize',14,'fontweight','bold');
 axes('parent',ap,'unit','norm','Position',[0.735 0.205 .2 .03],'visible','off');
 panel(1,le+10)=text(0.01,.45,'HHHHHHHH','color',[.97 .97 .97],'fontname','华文楷体','fontsize',14,'fontweight','bold');
 color.axis=[.85 .85 .85]; %轴坐标色
 %%轴1
 ax(1,1)=axes('parent',ap,'unit','norm','Position',[.03 .525 .41 .396],'color',color.back,'fontsize',7,...
         'xcolor',color.axis,'ycolor',color.axis,'linewidth',1,'xgrid','on','ygrid','on','box','on','visible','on');
 tx=xlabel('         AAAAAAAA         ','fontsize',8,'unit','norm'); %创建label并改变label的位置
 tpo=get(tx,'pos');tpo(2)=tpo(2)+scrx*.04;
 set(tx,'pos',tpo,'back',color.back,'visible','on');
 tx=ylabel('        HHHHHHHH        ','fontsize',8,'unit','norm');
 tpo=get(tx,'pos');tpo(1)=tpo(1)+scry*.11;
 set(tx,'pos',tpo,'back','none');
 for ii=1:1
     lines(1,1,ii)=line([0],[0],'parent',ax(1,1),'visible','off');
 end
 set(ax(1,1),'userdata',lines(1,1,:));
 %%
 ax(1,2)=axes('parent',ap,'unit','norm','Position',[.48 .78 .505 .143],'color',color.back,'fontsize',7,...
         'xcolor',color.axis,'ycolor',color.axis,'linewidth',1,'xgrid','on','ygrid','on','box','on','visible','on');
 tx=xlabel('           MMMMMM           ','fontsize',8,'unit','norm'); %创建label并改变label的位置
 tpo=get(tx,'pos');tpo(2)=tpo(2)+scrx*.10;
 set(tx,'pos',tpo,'back',color.back);
 tx=ylabel('QQQQQQ','fontsize',8,'unit','norm');
 tpo=get(tx,'pos');tpo(1)=tpo(1)+scry*.088;
 set(tx,'pos',tpo,'back','none');
 for ii=1:1
     lines(1,2,ii)=line([0],[0],'parent',ax(1,2),'visible','off');
 end
 set(ax(1,2),'userdata',lines(1,2,:));
 %%
 ax(1,3)=axes('parent',ap,'unit','norm','Position',[.482 .518 .234 .162],'color',color.back,'fontsize',7,...
         'xcolor',color.axis,'ycolor',color.axis,'linewidth',1,'xgrid','on','ygrid','on','box','on','visible','on');
 tx=xlabel('     AAAAAA     ','fontsize',8,'unit','norm'); %创建label并改变label的位置
 tpo=get(tx,'pos');tpo(2)=tpo(2)+scrx*.10;
 set(tx,'pos',tpo,'back',color.back);
 tx=ylabel('MMMMMM','fontsize',8,'unit','norm');
 tpo=get(tx,'pos');tpo(1)=tpo(1)+scry*.19;
 set(tx,'pos',tpo,'back','none');
  for ii=1:1
     lines(1,3,ii)=line([0],[0],'parent',ax(1,3),'visible','off');
 end
 set(ax(1,3),'userdata',lines(1,3,:));
 %%
 ax(1,4)=axes('parent',ap,'unit','norm','Position',[.7565 .518 .228 .162],'color',color.back,'fontsize',7,...
         'xcolor',color.axis,'ycolor',color.axis,'linewidth',1,'xgrid','on','ygrid','on','box','on','visible','on');
 tx=xlabel('     JJJJJJ    ','fontsize',8,'unit','norm'); %创建label并改变label的位置
 tpo=get(tx,'pos');tpo(2)=tpo(2)+scrx*.10;
 set(tx,'pos',tpo,'back',color.back);
 tx=ylabel('LLLLLL','fontsize',8,'unit','norm');
 tpo=get(tx,'pos');tpo(1)=tpo(1)+scry*.19;
 set(tx,'pos',tpo,'back','none');
   for ii=1:1
     lines(1,4,ii)=line([0],[0],'parent',ax(1,4),'visible','off');
 end
 set(ax(1,4),'userdata',lines(1,4,:));
 %%
 ax(1,5)=axes('parent',ap,'unit','norm','Position',[.03 .278 .41 .146],'color',color.back,'fontsize',7,...
         'xcolor',color.axis,'ycolor',color.axis,'linewidth',1,'xgrid','on','ygrid','on','box','on','visible','on');
 tx=xlabel('        SSSSSS         ','fontsize',8,'unit','norm'); %创建label并改变label的位置
 tpo=get(tx,'pos');tpo(2)=tpo(2)+scrx*.1;
 set(tx,'pos',tpo,'back',color.back);
 tx=ylabel('BBBBBBBBBBB','fontsize',8,'unit','norm');
 tpo=get(tx,'pos');tpo(1)=tpo(1)+scry*.11;
 set(tx,'pos',tpo,'back','none');
   for ii=1:3
     lines(1,5,ii)=line([0],[0],'parent',ax(1,5),'visible','off');
 end
 set(ax(1,5),'userdata',lines(1,5,:));
 %%
 ax(1,6)=axes('parent',ap,'unit','norm','Position',[.482 .278 .234 .146],'color',color.back,'fontsize',7,...
         'xcolor',color.axis,'ycolor',color.axis,'linewidth',1,'xgrid','on','ygrid','on','box','on','visible','on');
 tx=xlabel('     SSSSSS     ','fontsize',8,'unit','norm'); %创建label并改变label的位置
 tpo=get(tx,'pos');tpo(2)=tpo(2)+scrx*.11;
 set(tx,'pos',tpo,'back',color.back);
 tx=ylabel('SSSSSSSSSSSSSSS','fontsize',8,'unit','norm');
 tpo=get(tx,'pos');tpo(1)=tpo(1)+scry*.19;
 set(tx,'pos',tpo,'back','none');
   for ii=1:1
     lines(1,6,ii)=line([0],[0],'parent',ax(1,6),'visible','off');
 end
 set(ax(1,6),'userdata',lines(1,6,:));
 %%
 ax(1,7)=axes('parent',ap,'unit','norm','Position',[.756 .278 .228 .146],'color',color.back,'fontsize',7,...
         'xcolor',color.axis,'ycolor',color.axis,'linewidth',1,'xgrid','on','ygrid','on','box','on','visible','on');
 tx=xlabel('     SSSSSS     ','fontsize',8,'unit','norm'); %创建label并改变label的位置
 tpo=get(tx,'pos');tpo(2)=tpo(2)+scrx*.11;
 set(tx,'pos',tpo,'back',color.back);
 tx=ylabel('ZZZZZZZZZZZZZZZZ','fontsize',8,'unit','norm');
 tpo=get(tx,'pos');tpo(1)=tpo(1)+scry*.19;
 set(tx,'pos',tpo,'back','none');
   for ii=1:1
     lines(1,7,ii)=line([0],[0],'parent',ax(1,7),'visible','off');
 end
 set(ax(1,7),'userdata',lines(1,7,:));
 %%
 ax(1,8)=axes('parent',ap,'unit','norm','Position',[.03 .038 .41 .146],'color',color.back,'fontsize',7,...
         'xcolor',color.axis,'ycolor',color.axis,'linewidth',1,'xgrid','on','ygrid','on','box','on','visible','on');
 tx=xlabel('        SSSSSS         ','fontsize',8,'unit','norm'); %创建label并改变label的位置
 tpo=get(tx,'pos');tpo(2)=tpo(2)+scrx*.15;
 set(tx,'pos',tpo,'back',color.back);
 tx=ylabel('HHHHHHHHHHHHH','fontsize',8,'unit','norm');
 tpo=get(tx,'pos');tpo(1)=tpo(1)+scry*.11;
 set(tx,'pos',tpo,'back','none');
   for ii=1:3
     lines(1,8,ii)=line([0],[0],'parent',ax(1,8),'visible','off');
 end
 set(ax(1,8),'userdata',lines(1,8,:));
 %%
 ax(1,9)=axes('parent',ap,'unit','norm','Position',[.478 .04 .234 .145],'color',color.back,'fontsize',7,...
         'xcolor',color.axis,'ycolor',color.axis,'linewidth',1,'xgrid','on','ygrid','on','box','on','visible','on');
 tx=xlabel('     SSSSSS     ','fontsize',8','unit','norm'); %创建label并改变label的位置
 tpo=get(tx,'pos');tpo(2)=tpo(2)+scrx*.11;
 set(tx,'pos',tpo,'back',color.back);
 tx=ylabel('SSSSSSSSSSSSSSS','fontsize',8,'unit','norm');
 tpo=get(tx,'pos');tpo(1)=tpo(1)+scry*.19;
 set(tx,'pos',tpo,'back','none');
   for ii=1:1
     lines(1,9,ii)=line([0],[0],'parent',ax(1,9),'visible','off');
 end
 set(ax(1,9),'userdata',lines(1,9,:));
 %%
 ax(1,10)=axes('parent',ap,'unit','norm','Position',[.756 .038 .228 .146],'color',color.back,'fontsize',7,...
         'xcolor',color.axis,'ycolor',color.axis,'linewidth',1,'xgrid','on','ygrid','on','box','on','visible','on');
 tx=xlabel('     SSSSSS     ','fontsize',8,'unit','norm'); %创建label并改变label的位置
 tpo=get(tx,'pos');tpo(2)=tpo(2)+scrx*.15;
 set(tx,'pos',tpo,'back',color.back);
 tx=ylabel('ZZZZZZZZZZZZZZZ','fontsize',8,'unit','norm');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -