Loop through parents name
조회 수: 11 (최근 30일)
이전 댓글 표시
Hi all,
I'm trying to create a ui-generating function that is called several time instead of raw-coding every tab / button ... of every section of my interface.
To do it, I need to call this function for different tabs, ie different parents.
For example I have this kind of code :
obj.Display.Compare_Options = uicontrol(obj.Display.Panel_Perfo,'style','check','unit','normalized'); %shortened compared to real code
Where
- obj.Display.PanelPerfo is a uitab
- obj.Display.Compare_Options is a struct
And I'd like to be able to refer to different ui tab, as if I had something like :
uitabname = Panel_Perfo
obj.Display.Compare_Options = uicontrol (obj.Display.uitabname,'style','check','unit','normalized')
But when I do this, I have the error "Reference to non-existent filed 'uitabname' because MATLAB is searching for
obj.Display.uitabname
Where I want it to search for
obj.Display.Panel_Perfo
In order to change tab name based on callback source.
How can I make this happen ? Thanks !
댓글 수: 0
채택된 답변
Rik
2022년 8월 26일
편집: Rik
2022년 8월 26일
If you're using a struct, you need to do this:
uitabname = 'Panel_Perfo';
obj.Display.Compare_Options = uicontrol(obj.Display.(uitabname),...
'Style','check',...
'Unit','Normalized')
If obj.Display is an object, you probably need to use get.
댓글 수: 2
Rik
2022년 8월 26일
You're welcome. I prefer to use line continuations to break up long lines of code and easily spot which parameter has which value. You may want to consider a similar style.
추가 답변 (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!