我是matlab的新手,我想知道是否有人可以解决问题。 我正在使用Matlab R2017B和App Designer。
我的问题: 我在GUI中有一个默认设置为不可见的面板。 我还有一个下拉菜单,其中存储了一些值:
“请选择” “小组1” “小组2” “小组3” 等...
当我从下拉列表中选择面板1时,我希望该特定面板变为可见。即回调:
function DropDownValueChanged(app, event)
app.Panel1.Visible = 'on';
这一切都很好并且有效,但我似乎无法让下一部分正确。 当我回到下拉列表并选择“面板2”时,我希望程序关闭当前面板并通过从下拉列表中选择该值来打开名为“面板2”的面板。
使用可见性来定义此错误是错误的吗? 如何以更直观的方式将下拉值连接到相应的面板? 我一直在搞乱各种各样的教程,但仍然无法让它工作
提前致谢
答案 0 :(得分:0)
您需要读取下拉列表的值并使用它来评估应显示哪个面板。最初隐藏所有面板,然后只需使感兴趣的面板可见。我的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