MATLAB R2020b 以降のリリースでは、UIFigure (App Designer で作成した GUI) をモーダル化させるための WindowStyle プロパティがサポ―トされています。
f = uifigure;
f.Position = [500 500 370 270];
uibutton(f, 'Text','press', 'ButtonPushedFcn', @buttonPushed);
function buttonPushed(src,even)
f2 = uifigure;
f2.Position = [540 450 370 270];
f2.WindowStyle = 'modal'; % モーダル
end
R2020a 以前のバージョンをご利用の方は、R2020b 以降のバージョンへのアップグレードをぜひご検討ください。
もしくは、サブウィンドウに uifigure の代わりに inputdlg など、既にモーダルとなっているダイアログを使用する方法が考えられます。
f = uifigure;
f.Position = [500 500 370 270];
uibutton(f, 'Text','press', 'ButtonPushedFcn', @buttonPushed);
function buttonPushed(src,even)
prompt = {'Enter matrix size:','Enter colormap name:'};
dlg_title = 'Input';
num_lines = 1;
defaultans = {'20','hsv'};
answer = inputdlg(prompt,dlg_title,num_lines,defaultans);
end