我有一个脚本,我需要通过命令行和UI交互来通过一些数字进行交互。
如何以编程方式在控制台和全屏图形之间切换焦点?
如果我figure()
,那么在Matlab面前会打开一个新的数字,但它没有焦点。我不知道如何做相反的事情......
答案 0 :(得分:1)
这不是一个干净的解决方案,而是一种解决方法:
% Create figure
testFigure = figure();
pause(3);
% Hide
testFigure.Visible='off';
pause(3);
% Bring to front
testFigure.Visible='off';
testFigure.Visible='on';
在R2017b上为我工作。
答案 1 :(得分:1)
创建图形时,将其指定给句柄
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)