Equivalent to guidata in App Designer

20 visualizzazioni (ultimi 30 giorni)
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 Commenti
William Day
William Day il 31 Mar 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

Accedi per commentare.

Risposta accettata

William Day
William Day il 31 Mar 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 Commenti
Jeffrey Topp
Jeffrey Topp il 9 Nov 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 il 10 Nov 2023
Modificato: Walter Roberson il 10 Nov 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.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Migrate GUIDE Apps in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by