Matlab 应用程序设计器。使用 DropDown 打开和关闭面板
Matlab App Designer. Using DropDown to open and close panels
我是 matlab 的新手,我想知道是否有人可以解释一下。
我正在使用 Matlab R2017B 和 App Designer。
我的问题:
我在默认设置为不可见的 GUI 中有一个面板。
我还有一个下拉菜单,其中存储了一些值:
"Please Select"
"Panel 1"
"panel 2"
"panel 3"
等...
当我从下拉列表中 select 面板 1 时,我希望该特定面板随后变得可见。即回调:
function DropDownValueChanged(app, event)
app.Panel1.Visible = 'on';
这一切都很好并且可以工作,但我似乎无法正确完成下一部分。
当我返回下拉列表和 select "panel 2" 我想要的是程序关闭当前面板并通过 select 打开名为 "panel 2" 的面板下拉列表中的值。
我用可见性来定义这个是不是错了?
如何以更直观的方式将下拉值连接到相应的面板?
我一直在搞各种教程,但仍然无法正常工作
提前致谢
您需要读取下拉列表的值并使用它来评估应显示哪个面板。最初隐藏所有面板,然后只使感兴趣的面板可见。我的 DropdownValueChanged
函数如下所示。
% Value changed function: DropDown
function DropDownValueChanged(app, event)
value = app.DropDown.Value;
% Hide all the panels
app.Panel1.Visible = 'off';
app.Panel2.Visible = 'off';
app.Panel3.Visible = 'off';
%If Panel 1 is selected, show panel 1
if strcmp(value,'Panel 1')
app.Panel1.Visible = 'on';
elseif strcmp(value,'Panel 2')
app.Panel2.Visible = 'on';
elseif strcmp(value,'Panel 3')
app.Panel3.Visible = 'on';
end
end
我还在 startupFcn
中隐藏了除第一个面板之外的所有面板。
% Code that executes after component creation
function startupFcn(app)
app.Panel1.Visible = 'on';
app.Panel2.Visible = 'off';
app.Panel3.Visible = 'off';
end
我是 matlab 的新手,我想知道是否有人可以解释一下。 我正在使用 Matlab R2017B 和 App Designer。
我的问题: 我在默认设置为不可见的 GUI 中有一个面板。 我还有一个下拉菜单,其中存储了一些值:
"Please Select" "Panel 1" "panel 2" "panel 3" 等...
当我从下拉列表中 select 面板 1 时,我希望该特定面板随后变得可见。即回调:
function DropDownValueChanged(app, event)
app.Panel1.Visible = 'on';
这一切都很好并且可以工作,但我似乎无法正确完成下一部分。 当我返回下拉列表和 select "panel 2" 我想要的是程序关闭当前面板并通过 select 打开名为 "panel 2" 的面板下拉列表中的值。
我用可见性来定义这个是不是错了? 如何以更直观的方式将下拉值连接到相应的面板? 我一直在搞各种教程,但仍然无法正常工作
提前致谢
您需要读取下拉列表的值并使用它来评估应显示哪个面板。最初隐藏所有面板,然后只使感兴趣的面板可见。我的 DropdownValueChanged
函数如下所示。
% Value changed function: DropDown
function DropDownValueChanged(app, event)
value = app.DropDown.Value;
% Hide all the panels
app.Panel1.Visible = 'off';
app.Panel2.Visible = 'off';
app.Panel3.Visible = 'off';
%If Panel 1 is selected, show panel 1
if strcmp(value,'Panel 1')
app.Panel1.Visible = 'on';
elseif strcmp(value,'Panel 2')
app.Panel2.Visible = 'on';
elseif strcmp(value,'Panel 3')
app.Panel3.Visible = 'on';
end
end
我还在 startupFcn
中隐藏了除第一个面板之外的所有面板。
% Code that executes after component creation
function startupFcn(app)
app.Panel1.Visible = 'on';
app.Panel2.Visible = 'off';
app.Panel3.Visible = 'off';
end