custom UI component issues
13 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Nathan Bblanc
el 9 de Feb. de 2021
Comentada: Nathan Bblanc
el 18 de Abr. de 2021
Update: I solved this for now by adding a line to the "update" function that sets the Parent of the panel to be the Parent figure rather than the object itself. namely:
set(obj.Panel,'Parent',obj.Parent)
however I am worried that this might cause bugs in the future
original question:
I am trying to create a custom UI component. so far I simply tried to integrate a panel with a UIImage.
however, my custom component stubbornly refuses to appear on the screen. in other cases it appears on the screen but the title of the panel is not there.
I am attaching my code, as well as my resulting figures. in my main script I also run the exact same commands directly and the figure indeed appears.
Thanks in advance
Nathan
0 comentarios
Respuesta aceptada
Greg
el 15 de Abr. de 2021
" set(obj.Panel,'Parent',obj.Parent)
however I am worried that this might cause bugs in the future"
You're absolutely right. This is not a good idea.
Your problem is that the panel's default units are "normalized" so setting anything outside the bounds of 0 and 1 results in something way off-screen (of the componentcontainer object). In your panel constructor call, set the units to pixels before setting the position property.
Better yet, I strongly encourage the use of uigridlayout. Every componentcontainer I build starts with a grid. Using grids makes nearly every conversation about size and position irrelevant. It also cures practically every situation such as this one - "what's wrong with my component positioning?".
Más respuestas (0)
Ver también
Categorías
Más información sobre Migrate GUIDE Apps en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!