Set uifigure defaults doesn't work the same as figures
Mostrar comentarios más antiguos
with figures I can set the defaults using
set(groot, 'defaultFigurePosition', [1 1 1 1])
but I can not do the same for uifigures
set(groot, 'defaultuiFigurePosition', [1 1 1 1])
This is also an issue with the new components i want to use uifigures for, like uilabel, or uieditfield.
Is there something i am doing wrong with the new uifigures when trying to set the defaults?
Respuesta aceptada
Más respuestas (1)
Matt Butts
el 18 de En. de 2023
Movida: Adam Danz
el 18 de En. de 2023
0 votos
I believe both figure and uifigure use the same default. Are you seeing thet uifigures are not utilizing your default that you set in DefaultFigurePosition?
7 comentarios
Adam Danz
el 18 de En. de 2023
As Matt mentioned, figure and uifigure use the same defaultFigurePosition. Please let us know if you are experiencing any issues with that.
Walter Roberson
el 18 de En. de 2023
a = uicontrol()
b = uilabel()
class(a)
class(b)
You will find that class(a) is matlab.ui.control.UIControl and class(b) is matlab.ui.control.Label . That is, there is a class named UIControl but there is no class named UILabel
Adam Danz
el 18 de En. de 2023
The uipanel units are affected by the parent units.
fig = figure();
fig.Units % normalized
p1 = uipanel(fig);
p1.Units % normalized
uifig = uifigure();
uifig.Units % pixels
p2 = uipanel(uifig);
p2.Units % pixels
Thanks for the info about DefaultFigureUnits in uifigures. That seems to have changed in R2022a. I've submitted a support ticked to address this.
Adam Danz
el 18 de En. de 2023
matlab.ui.control.Label objects do not have a public units property. This prevents you from setting uilabel units.
Categorías
Más información sobre Creating, Deleting, and Querying Graphics Objects en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!