Resizing grid layout doesn't work in maximized WindowState

I have created an App using the "2-panel App with Auto-Reflow" template and I want to change the width of the 2 panels. Here's the relevant code:
function startupFcn(app)
fig_position = app.UIFigure.Position;
fig_width = fig_position(3);
fig_height = fig_position(4);
app.GridLayout.ColumnWidth = {0.54*fig_width, 0.46*fig_width};
app.GridLayout.RowHeight = fig_height;
end
I have also set the WindowState property of the UIFigure element to 'maximized'. However, the panels don't have the correct width. What am I missing?

 Akzeptierte Antwort

John F
John F am 24 Mär. 2022
Add "drawnow" at the beginning of the function like this:
function startupFcn(app)
drawnow
fig_position = app.UIFigure.Position;
fig_width = fig_position(3);
fig_height = fig_position(4);
app.GridLayout.ColumnWidth = {0.54*fig_width, 0.46*fig_width};
app.GridLayout.RowHeight = fig_height;
end

Weitere Antworten (0)

Kategorien

Produkte

Version

R2020b

Gefragt:

am 24 Mär. 2022

Beantwortet:

am 24 Mär. 2022

Community Treasure Hunt

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

Start Hunting!

Translated by