我在Matlab中创建了一个ui面板,并在其上放置了一些ui控件。当我复制面板时,我如何访问这些ui控件?
例子:
panel_a=uipanel(figure);
editfield=uicontrol(panel_a, 'style','edit');
x=uitab(tabgroup);
panel_b=copyobj(panel_a,x);
tmp=panel_b.editfield.String; <-- how do I write this?
如何访问panel_b
的editfield
?
如果你给uicontrol
分配了一个Tag
值,你可以用它来找到它的句柄,一旦你用findobj
把它复制到新的面板。
% Assign a 'Tag' value specific to this uicontrol
editfield = uicontrol(panel_a, 'style', 'edit', 'tag', 'editfield');
% Copy your relevant objects
panel_b = copyobj(panel_a, x);
% Use findobj to locate the handle to the object of interest
tmp = findobj(panel_b, 'Tag', 'editfield')
或者,您可以使用findobj
查找所有的编辑框
tmp = findobj(panel_b, 'Style', 'edit');