h(i) = strcat('handles.uipanel',num2str(i)), when I use set(h(i),'Visible','ON') ,it doesn't work
2 次查看(过去 30 天)
显示 更早的评论
Well ,I have a for ...end
for b=1:9
h = strcat('handles.uipanel',num2str(b));
set(h,'Visible','ON');
end
Error:Error using set; Value must be a handle.
Thank you for your help!
0 个评论
采纳的回答
Walter Roberson
2013-1-24
编辑:Walter Roberson
2013-1-24
In your situation you could use the dynamic fieldname approach.
2 个评论
Jan
2013-1-24
I would even prefer not to let GUIDE create "handles.uipanel1", "handles.uipanel2", ..., but to create an array instead: "handles.uipanel(1)", etc. Then the loop can be omitted:
set(h.uipanel, 'Visible', 'ON');
But unfortunately the automatic code generation in GUIDE prefers to append the index to the name of the field. Then Walter's suggestion means:
for b = 1:9
set(handles.sprintf('uipanel%d', b), 'Visible', 'on');
end
更多回答(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!