Set uifigure defaults doesn't work the same as figures
显示 更早的评论
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?
采纳的回答
更多回答(1 个)
Matt Butts
2023-1-18
移动:Adam Danz
2023-1-18
0 个投票
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 个评论
Adam Danz
2023-1-18
As Matt mentioned, figure and uifigure use the same defaultFigurePosition. Please let us know if you are experiencing any issues with that.
Walter Roberson
2023-1-18
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
2023-1-18
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
2023-1-18
matlab.ui.control.Label objects do not have a public units property. This prevents you from setting uilabel units.
类别
在 帮助中心 和 File Exchange 中查找有关 Creating, Deleting, and Querying Graphics Objects 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!