How to clear the error "Functionality not supported with figures created with the uifigure function." ?

21 次查看(过去 30 天)
Hello ,
I'm seeing the following error,
"Functionality not supported with figures created with the uifigure function."
for the below code lines
figs = findall(groot,'Type','Figure');
for i= 1:length(figs)
shh = get(0,'ShowHiddenHandles'); %finds the open figures
set(figs(i),'PaperPositionMode','auto');
set(figs(i),'InvertHardcopy','off');
saveas(figs(i),sprintf('TC%d(%d).png',j,i+1));
end
The above lines are needed to take the screenshots of the test results
Any suggesstions are highly appreciated
Thank you in advance!

回答(1 个)

Voss
Voss 2024-5-24
编辑:Voss 2024-5-24
I presume you want that code to iterate over all figures but not uifigures.
You could close all the uifigures before running the code, or you can modify the code to skip uifigures as follows:
figs = findall(groot,'Type','Figure');
for i= 1:length(figs)
if matlab.ui.internal.isUIFigure(figs(i))
% if it's a uifigure, skip it
continue
end
set(figs(i),'PaperPositionMode','auto');
set(figs(i),'InvertHardcopy','off');
saveas(figs(i),sprintf('TC%d(%d).png',j,i+1));
end

类别

Help CenterFile Exchange 中查找有关 Maintain or Transition figure-Based Apps 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by