Matlab GUI编程之:如何在同一figure中,实现界面切换?

如何通过按钮,实现两个面板之间(uipanel)的切换?

matlab GUI 面板控件介绍

matlab中 面板控件面板是一个封闭区间,在面板里的控件是生成在面板上,这些控件与面板的之间是父子关系,我们可以将实现某一个特定功能的一系列组件放置于同一个面板当中。然后通过按钮实现不同面板的依次显示,这样就可以在同一个figure里面实现页面的切换了。

效果展示

  1. 初始化页面,刚运行程序的时候可以看到页面上没有出现任何面板控件
    Matlab GUI编程之:如何在同一figure中,实现界面切换?_第1张图片
  2. 点击按钮1出现的效果
    Matlab GUI编程之:如何在同一figure中,实现界面切换?_第2张图片
    3.点击按钮3出现的效果
    Matlab GUI编程之:如何在同一figure中,实现界面切换?_第3张图片

可以看到,实现了matlab GUI页面的切换

实现的步骤

  1. 使用matlab GUI GUIDE创建一个界面Matlab GUI编程之:如何在同一figure中,实现界面切换?_第4张图片

  2. 在界面上放置两个panel,先不要直接用鼠标拖拽让二者重叠,那样控制不好的情况下会让二者产生父子关系,这样控制依次显示的时候就会出现问题。Matlab GUI编程之:如何在同一figure中,实现界面切换?_第5张图片

  3. 打开每个面板的属性窗口,里面会有两个属性,position和tag,position可以控制位置,你如果想让两个面板完全重合,就输入相同的坐标就行。tag是面板的唯一标识名,在代码里可以通过这个tag找到这个控件,对其进行控制显示。下图的最后一个属性Visible也设置为off,这样在刚运行的时候就不会有面板进行展示

  4. Matlab GUI编程之:如何在同一figure中,实现界面切换?_第6张图片

代码部分

在上图中,我们还放置了三个按钮,这里主要对其中两个进行解释
在这里插入图片描述
每一个按钮打开它的callback函数,在函数中将要显示的面板设置为可见,不显示的面板设置为不可见,这样每个按钮就能完成让指定的面板依次切换的功能。

按钮1的回调

function togglebutton1_Callback(hObject, eventdata, handles)
set(handles.wmMaskPanel,'visible','on');
set(handles.analysisPanel,'visible','off');

按钮3的回调

function wmAnalysisBut_Callback(hObject, eventdata, handles)
set(handles.wmMaskPanel,'visible','off');
set(handles.analysisPanel,'visible','on');

通过上面的设置就能完成matlab页面切换了。欢迎大家交流学习!

你可能感兴趣的:(matlab)