Creating Buttons Tabs and Panels from Input Number

14 ビュー (過去 30 日間)
McLain Cowan
McLain Cowan 2021 年 3 月 17 日
コメント済み: McLain Cowan 2021 年 6 月 29 日
Here is an example of my Code that keeps returning the error " 'Parent' must be a parent component, such as a uifigure object. This is all done in Designer.
X= 3
app.UIFigure = uifigure;
app.TabGroup = uitabgroup(app.UIFigure)
for i=1:X
app.Tab(i) = uitab(app.TabGroup)
app.Panel(i) = uipanel(app.Tab(i))
app.Button(i) = uibutton(app.Panel(i))
Once it gets to app.Button the error occurs. Lets say X = 3, I do get 3 Tabs and 3 Panels (1 in each Tab) but it is unable to create the 1 Button in each Panel.

回答 (1 件)

Reshma Nerella
Reshma Nerella 2021 年 6 月 18 日
You can do it this way.
  1. Create a private property allComps, use it as a structure to hold arrays for tabs, panels and buttons
  2. Create an EditField for the input number
Use the below code for creating tabs,panels and buttons.
app.allComps.tabG = uitabgroup(app.UIFigure);
for i = 1:app.EditField.Value
app.allComps.tabs(i) = uitab(app.allComps.tabG,'Title', "tab"+i);
app.allComps.panels(i) = uipanel(app.allComps.tabs(i));
app.allComps.buttons(i) = uibutton(app.allComps.panels(i),'Text',"button"+i);
Hope this helps!
  1 件のコメント
McLain Cowan
McLain Cowan 2021 年 6 月 29 日
This does not work... This is what I am trying to do currently. I am trying to put buttons onto multiple tabs:



Find more on Develop uifigure-Based 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!

Translated by