custom UI component issues
조회 수: 10 (최근 30일)
이전 댓글 표시
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
채택된 답변
Greg
2021년 4월 15일
" 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?".
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Migrate GUIDE Apps에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!