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

📄 guiexp.asv

📁 matlab从入门到精通第9章书后源码对初学者很有帮助
💻 ASV
字号:
function guiexp
% 通过M文件编写方式来编写图形用户界面
% 设置图形用户界面的单位
set(0,'Units','pixels');
% 获取屏幕尺寸保证图形界面位于屏幕中央
screen_size=get(0,'ScreenSize');
% 通过对话框方式绘制用户图形界面
h.gui=dialog('WindowStyle','normal','Resize','on',...
             'Name','gui example',...
             'Units','pixels',...
             'Position',[(screen_size(3)-310)/2,(screen_size(4)-150)/2,310,150]);
% 获取图形窗口的属性
defoutpos=get(h.gui,'OuterPosition');
% 保存默认的外部尺寸
set(h.gui,'UserData',defoutpos);

% 创建顶层菜单
hm=uimenu('Parent',h.gui,'Label','File');
% 添加菜单项
uimenu('Parent',hm,'Label','Close','Callback','close(gcbf)');

% 在图形窗口中添加水平和垂直滑动条
h.hslider=uicontrol('Style','Slider','Parent',h.gui,'Units','pixels',...
                    'Position',[10,10,270,20],...
                    'Min',20,'Max',screen_size(3)-defoutpos(3)-20,...
                    'Value',defoutpos(1),...
                    'Callback',{@local_hslider,h});
h.vslider=uicontrol('Style','Slider','Parent',h.gui,'Units','pixels',...
                    'Position',[280,30,20,100],...
                    'Min',20,'Max',screen_size(4)-defoutpos(4)-20,...
                    'Value',defoutpos(2),...
                    'Callback',{@local_vslider,h});   
% 添加更新update按钮
h.update=uicontrol('Style','PushButton','Parent',h.gui,'Units','pixels',...
                    'Position',[50,70,80,30],...
                    'String','update',...
                    'Callback',{@local_update,h}); 
% 添加默认default按钮
h.update=uicontrol('Style','PushButton','Parent',h.gui,'Units','pixels',...
                    'Position',[145,70,80,30],...
                    'String','default',...
                    'Callback',{@local_default,h}); 
% 创建各控件的回调函数
% 水平滑动条的回调函数
function local_hslider(cbo,eventdata,h)
slidervalue=get(cbo,'Value');
pos=get(h.gui,'OuterPosition');
set(h.gui,'OuterPosition',[SliderValue pos(2:4)])

% 水平滑动条的回调函数
function local_vslider(cbo,eventdata,h)
slidervalue=get(cbo,'Value');
pos=get(h.gui,'OuterPosition');
set(h.gui,'OuterPosition',[pos(1) SliderValue pos(3:4)])
% 更新按钮的回调函数
function local_update(cbo,eventdata,h)
outpos=get(h.gui,'OuterPosition');
set(h.hslider,'Value',outpos(1));
set(h.vslider,'Value',outpos(2));
% 恢复到默认设置
function local_default(cbo,eventdata,h)
defoutpos=get(h.gui,'UserData');
set(h.gui,'OuterPosition',defoutpos);
set(h.hslider,'Value',defoutpos(1));
set(h.vslider,'Value',defoutpos(2));


⌨️ 快捷键说明

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