【问题标题】:Matlab App Designer. Using DropDown to open and close panelsMatlab 应用程序设计器。使用 DropDown 打开和关闭面板
【发布时间】:2018-09-26 16:22:58
【问题描述】:

我是 matlab 新手,我想知道是否有人可以提供一些启示。 我正在使用 Matlab R2017B 和 App Designer。

我的问题: 我在 GUI 中有一个面板,默认设置为不可见。 我还有一个下拉菜单,其中存储了一些值:

“请选择” “面板 1” “面板 2” “面板 3” 等等……

当我从下拉列表中选择面板 1 时,我希望该特定面板变得可见。即回调:

function DropDownValueChanged(app, event) app.Panel1.Visible = 'on';

这一切都很好并且有效,但我似乎无法正确完成下一部分。 当我返回下拉菜单并选择“面板 2”时,我希望程序关闭当前面板并通过从下拉列表中选择该值打开名为“面板 2”的面板。

我在使用可见性来定义这一点上错了吗? 如何以更直观的方式将下拉值连接到相应的面板? 我一直在搞各种教程,但仍然无法正常工作

提前致谢

【问题讨论】:

    标签: matlab user-interface drop-down-menu matlab-figure


    【解决方案1】:

    您需要读取下拉列表的值并使用它来评估应该显示哪个面板。最初隐藏所有面板,然后只使感兴趣的面板可见。我的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
    

    【讨论】:

    • 非常感谢,我设法从另一个论坛得到了同样的答案。我也想知道,通过多个面板,我开始注意到我的程序变得迟钝。有没有办法关闭面板而不是改变它们的可见性,其工作方式与您描述的类似?因此,我将打开所述面板,然后使用 close 关键字而不是.Visible 将其关闭。再次感谢您的贡献,非常感谢!
    • @DaveSwans 没问题。如果对您有帮助,请务必接受答案。至于性能,我不知道如何在 AppDesigner 中实现这一点,也许你应该提出一个新问题。
    • 好的,@scotty3785 会做
    猜你喜欢
    • 1970-01-01
    • 2011-07-03
    • 2011-05-19
    • 2014-06-26
    • 2018-10-14
    • 2011-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多