Equivalent to guidata in App Designer

10 visualizaciones (últimos 30 días)
William Day
William Day el 30 de Mzo. de 2022
Editada: Walter Roberson el 10 de Nov. de 2023
I converted a GUIDE based applicatoin to App Designer. When I created a new variable in a callback, I would add it to handles. Then at the end of the callback I would issue a guidate command so that my new variable was accessible in other callbacks of the GUI. Example
handles.cpu_str = cpu_str;
guidata(myapp,handles)
The help tells me to not use guidata except with GUIDE and .fig. So how do I make these variables available? The help advised me to change my handles to app.handles, but this had no effect. I tried making a handles a public property. How should I do this
  3 comentarios
William Day
William Day el 31 de Mzo. de 2022
Thanks Walter. I have figured it out. I did in fact use the migration tool. It creates a command like this at the start of all callbacks.
[hObject, eventdata, handles] = convertToGUIDECallbackArguments(app, event);
So my problem was the hObject in the command. I changed it as follows
[hObject, eventdata, app.handles] = convertToGUIDECallbackArguments(app, event);
and changed the guidedata command to and then it worked fine
guidata(hObject,app.handles]
I think that maybe the help should clarify that guidata can still be used in App Designer if it was migrated from GUIDE

Iniciar sesión para comentar.

Respuesta aceptada

William Day
William Day el 31 de Mzo. de 2022
Thanks Walter. I have figured it out. I did in fact use the migration tool. It creates a command like this at the start of all callbacks.
[hObject, eventdata, handles] = convertToGUIDECallbackArguments(app, event);
So my problem was the hObject in the command. I changed it as follows
[hObject, eventdata, app.handles] = convertToGUIDECallbackArguments(app, event);
and changed the guidedata command to and then it worked fine
guidata(hObject,app.handles]
I think that maybe the help should clarify that guidata can still be used in App Designer if it was migrated from GUIDE
  2 comentarios
Jeffrey Topp
Jeffrey Topp el 9 de Nov. de 2023
I have a similar issue. I created an app in App Designer which has a button that calls a script. How do I access the data (equivalent to guidata) from inside my script? I'd rather not pass the status off all the checkboxes and what not into the script.
Walter Roberson
Walter Roberson el 10 de Nov. de 2023
Editada: Walter Roberson el 10 de Nov. de 2023
You would have to make sure that all of the properties of the app are Public so that you can examine them off of app. from inside your script. If you want to prevent the script from changing the properties, you would need to mark the properties as not having write access.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Migrate GUIDE Apps en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by