我有一个带嵌套面板的Matlab GUIDE图。我还在面板顶部有控制对象。这是一个名义上的例子:
为了对齐所有复选框,它们都需要位于同一个控件组中。我想移动复选框,使其父级是主面板而不是其中一个子面板。子面板只是用于视觉分组,并没有真正的功能价值。
对象浏览器显示关系,但我认为无法更改它。我已经尝试粘贴我想要移动到子面板外的对象并将它们拖回来,但它们会自动添加到子面板中。如果我粘贴在子面板外面,我可以使用箭头键将它们移回原来,父母将保留在主面板上,但这会变得乏味。
如何更改GUIDE控件对象的父面板?
答案 0 :(得分:1)
使用guide
构建GUI可能的解决方案可能是:
uipanel
checkbox
Align Objects
工具uipanel
上添加辅助checkbox
。它将涵盖`复选框' uipanel
Send to Back
选项如果您想以编程方式创建GUI"你可以:
figure
Style
属性设置为checkbox
和position
属性,以便将它们放置在主面板中uipanel
将屏蔽checkbox
Thsi是一种可能的实现
% Create the figure
figure
% Add the Main uipanel
p1=uipanel('units','normalized','position',[.1 .1 .5 .7],'title','Main Panel')
% Add come checkboxes
cb1=uicontrol('parent',p1,'style','checkbox','units','normalized', ...
'position',[.1 .7 .3 .1],'string','checkbox 1')
cb2=uicontrol('parent',p1,'style','checkbox','units','normalized', ...
'position',[.1 .6 .3 .1],'string','checkbox 2')
cb3=uicontrol('parent',p1,'style','checkbox','units','normalized', ...
'position',[.1 .5 .3 .1],'string','checkbox 3')
% Add the Secondary uipanel
p2=uipanel('parent',p1,'units','normalized','position',[.05 .4 .4 .5], ...
'title','Secondary Panel')
% Push the secondary uipanel back
uistack(p2,'bottom')
希望这有帮助。
Qapla'