custom UI component issues

11 ビュー (過去 30 日間)
nathan blanc
nathan blanc 2021 年 2 月 9 日
コメント済み: nathan blanc 2021 年 4 月 18 日
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

採用された回答

Greg
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?".
  1 件のコメント
nathan blanc
nathan blanc 2021 年 4 月 18 日
thank you for your answer Greg. while you are here, I wonder if I could piggyback the question with another one.
is there a way to set a "mouse released" function in my custom component? there used to be one in the old buttons for the guide, but there isn't one in the new uibuttons

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeApp Building についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by