我有一个脚本可以创建多个UI图形界面:
% create fig1
fig1 = uifigure('Name', 'Figure 1');
% create fig2
fig2 = uifigure('Name', 'Figure 2');
% set fig2 as the current figure
set(0, 'currentfigure', fig2);
% get the current figure
gcf
我希望第二个uifigure成为当前图形界面,所以我使用了第三个命令进行设置。然而,当我使用gcf
获取当前图形界面时,仍然是第一个。以下是命令行的输出:
ans =
Figure (1) with properties:
Number: 1
Name: ''
Color: [0.9400 0.9400 0.9400]
Position: [514 371 560 420]
Units: 'pixels'
Show all properties
问题是什么?
set(groot, 'currentfigure', fig2)
能够正常工作吗? - Andras Deak -- Слава Україніset(0, 'currentfigure', fig2);
和gcf
命令之间意外点击了第一个图形? - Matteo Vfigure
而不是uifigure
进行了测试。使用正确的命令后,我遇到了同样的问题。似乎gcf
返回一个句柄到自动创建的figure
1。 - Matteo Vuifigure
和app-designer是相对较新的。例如,HandleVisibility
属性默认关闭并且会遮挡uifigure
句柄,在17b
中始终关闭,但在最新的文档中,看起来你可以选择将其设置为“on”,这可能有助于解决此问题。请[编辑]您的问题以包括您正在使用的MATLAB版本。 - Wolfie