Matlab 把重点放在具体的数字上

Matlab 把重点放在具体的数字上,matlab,matlab-figure,figure,Matlab,Matlab Figure,Figure,我有一个脚本,我需要通过命令行和一些图形进行UI交互 如何以编程方式在控制台和全屏图形之间切换焦点 如果我做了figure(),那么在Matlab前面会打开一个新的图形,但它没有焦点。我不知道如何做相反的事情…这不是一个干净的解决方案,而是一个解决办法: % Create figure testFigure = figure(); pause(3); % Hide testFigure.Visible='off'; pause(3); % Bring to front testFigur

我有一个脚本,我需要通过命令行和一些图形进行UI交互

如何以编程方式在控制台和全屏图形之间切换焦点


如果我做了
figure()
,那么在Matlab前面会打开一个新的图形,但它没有焦点。我不知道如何做相反的事情…

这不是一个干净的解决方案,而是一个解决办法:

% Create figure
testFigure = figure();

pause(3);

% Hide
testFigure.Visible='off';

pause(3);

% Bring to front
testFigure.Visible='off';
testFigure.Visible='on';

在R2017b上适用于我。

创建地物时,请将其指定给控制柄

myFig1 = figure;
myFig2 = figure;
然后使用

figure(myFig1); % Switches to myFig1
figure(myFig2); % Switches to myFig2

您可以对地物索引执行相同的操作,但这不太清晰,更容易出错,例如,如果在切换之前关闭/打开其他地物

figure(1); % Initialise and/or switch to figure 1

这两种方法都会将活动窗口切换为相关的体形窗口。要切换活动图形,但保持活动窗口作为Matlab主编辑器,请使用
set

set(0, 'CurrentFigure', myFig1) 

请参阅,以及函数。您可能希望提及
gcf
和类似函数,以获取现有图形的图形句柄。如果OP希望在图形之间切换,他们可能对当前图形不感兴趣?[对于其他读者,
gcf
获取当前数字]