如何以编程方式更改 MATLAB GUI 中的选项卡

How to Programmatically Change Tabs in MATLAB GUI

我目前正在尝试在我的 MATLAB 源代码中编写一行,这将更改我使用 uicontrol、uitabgroup、uitab 等创建的 GUI 的选项卡。

我想要的是一行代码,它将更改 GUI 的当前选定选项卡,如本文档所示:https://www.mathworks.com/matlabcentral/answers/166175-how-to-programmatically-select-a-tab-in-a-uitabgroup

但是,尽管没有显示错误,但它不会更改选项卡。我目前正在使用 MATLAB 2011b 并发现这个问题,因为 post 几乎是在 2015 年制作的。

任何人都可以指导我正确的方向或知道有关旧版本 MATLAB 的这个问题的任何资源吗?

uitabuitabgroup 直到 R2014b 才 "officially" 记录函数,因此它们在 2004 年推出、您的 2011 年版本和"official" 2014 年的文档。

根据 Yair's blog,这些年来 uitabuitabgroup 发生了许多变化,特别是在如何以编程方式 select 选项卡方面。对于您的版本,设置 SelectedIndex(隐藏的 属性)似乎应该以编程方式 select 选项卡。

htabgroup = uitabgroup();
htab1 = uitab(htabgroup, 'Title', 'Tab1');
htab2 = uitab(htabgroup, 'Title', 'Tab2');

set(htabgroup, 'SelectedIndex', 2)

在现代版本的 Matlab 中

TabGroup 对象的 属性 SelectedTab 设置为所需选项卡的句柄。

function GoToSomeTabButtonPushed(app, event)

    app.TabGroup.SelectedTab = app.SomeTab;

    % Alternatively, assuming the desired tab is the second:
    app.TabGroup.SelectedTab = app.TabGroup.Children(2);

end

查看实例 here