I can not get a "GUIDE" to open

2 次查看(过去 30 天)
Goodnight. I have the following problem. I have 2 "Guides", one called "form1" and the other "form2". The process is to press a button of the "form1" must make a series of calculations and at the end of all those calculations must open my "form2" (taking some data from my "form1"). I already tried several solcutions that I found on the internet, but I can not get my "form2" open, in fact I have not been able to create an .m file for that Guide. Please, I need your help with this. I am very new in Matlab and I still do not know much about this tool. thank you.

采纳的回答

Walter Roberson
Walter Roberson 2019-5-31
Invoke guide and tell it to create new GUI, and give it the name form2 . Put all relevant controls in it. Save it as normal, with .fig and .m file.
Inside form1, you can use
handles.data_form2_will_need = whatever;
guidata(handles);
form2_h = form2();
to get the handle of form2 in order to communicate with it.
Inside the OpenFcn for form2 you can use,
%we are inside form2 here, handles refers only to form2's handles
handles.form1_h = findobj(groot, 'tag', 'form1');
handles1 = guidata(handles.form1_h); %this is form1's handles
handles.data_form2_needs = handles1.data_form2_will_need;
guidata(hObject, handles)
  3 个评论
Walter Roberson
Walter Roberson 2019-6-1
编辑:Walter Roberson 2019-6-1
guidata(hObject, handles);
In form2 you should put in a breakpoint at
handles.form1_h = findobj(groot, 'tag', 'form1');
and step through that, and check whether handles.form1_h is empty . If it is empty, then your form1 GUI is not really named form1 .
Pedro Guevara
Pedro Guevara 2019-6-2
The problem was that the line of code should be called: guidata (hObject, handles); Thank you. Another concern If I want to pass more data to my "form2" GUI how could I get it?

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Migrate GUIDE Apps 的更多信息

产品


版本

R2017b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by