Default properties don't affect graphics, that are created with an empty parent
2 views (last 30 days)
Show older comments
Roman Müller-Hainbach
on 14 Apr 2021
Commented: Roman Müller-Hainbach
on 23 Apr 2021
I regularly use graphics that are intentionally created unparented. Since I want my apps to work on all platforms, I have the need to adapt font sizes. I tried to make use the default properties functionality to non-invasively make font sizes in my apps adapt to the platform the app is running on.
Unfortunately I encounter this unpleasant behavior, where the default property values seem to have no effect on graphics, if they are created with an empty parent.
set(groot, 'DefaultUicontrolFontSize', 14)
c = uicontrol('Parent',gcf);
c.FontSize % returns 14
c = uicontrol('Parent',[]);
c.FontSize % returns 10
Maybe there is a way for this to be the intended behavior, but I struggle to see it.
If this is a bug, I hope there can be an update to fix it before the next release. If not, I hope someone has an idea for a workaround.
0 Comments
Accepted Answer
Monisha Nalluru
on 23 Apr 2021
If the object has no ancestor, it wont pick the default properties mentioned.
You can query the default properties for object without parenting.
get(groot, 'defaultUIControlFontSize') % return 8
will give the default font size which could then pass to their uicontrol instance as the "FontSize" property
More Answers (0)
See Also
Categories
Find more on Migrate GUIDE Apps in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!