App Designer - Edit grayed out code
Show older comments
Hi,
I need to edit the grayed out code in the code view of my MatLab app to write initialization code.
I am building a MatLab app frontend for a backend which already exists. This backend has an object-oriented design and needs to run initialization code to read data and populate the data storage objects. How can I call the initialization code in the constructor of the app, or somewhere at the begininning of the program, once?
Thanks for your help.
Answers (3)
B Verhaar
on 23 Mar 2021
1 vote
I think this is what you need:
Startup Tasks and Input Arguments in App Designer
1 Comment
Ajith Gunatilaka
on 16 Sep 2021
Thank you. This helped me out.
I wanted to set the latex interpreter for Ylable before displaying a GUI with a graph. Unlike for edit box labels, I could not do this in the component browser. But now I was able to add it as a startup task.
Thanks for this useful tip.
Copy the whole code app designer produced and past it another blank .m file and save it.
Then you can edit the properties, constructor method and run it easily.
Maybe there is another easy way to do it.
I generally prefer to code my own GUI instead of app designer.
5 Comments
Odilon Lemieux
on 22 Jan 2019
Edited: Odilon Lemieux
on 23 Jan 2019
Luna
on 24 Jan 2019
Share the code then we see what's wrong.
Tom Paraschuk
on 24 Jan 2019
This approach won't work.
A .mlapp file is made of a .zip file with several different types of files inside. They can be accessed using the method (or hack) at this link: http://undocumentedmatlab.com/blog/appdesigner-mlapp-file-format.
Unfortunately, the .mat file in the location appdesigner/appModel.mat referred to in step 3 of the link is encrypted. So this method will not work unless someone knows a way to decrypt that file.
Tom Paraschuk
on 24 Jan 2019
I have a workaround: the startup function for a MatLab app, described at https://www.mathworks.com/help/matlab/creating_guis/app-designer-startup-function.html.
That being said, the app designer software's locking you out of editing the code in any way is a very bad feature.
I think you did different thing than what I said above. Create your application in appdesigner, put some buttons, gui elements, etc. Go to code view, and copy whole code.
Than open a new blank .m file on Matlab, past it to there and save new app.m. This must be a classdef file (an object definition with its methods and properties)
Now you can both edit and when you click run your app(GUI) will be executed.
Be careful about editing, if you are not familiar with object oriented programming.
Note: As I see you saved .mlapp file and this is not what I explained.
Parisa Zomorodian
on 7 Dec 2020
0 votes
Your solution didnt work for me as well.
You can click on the arrow under "save" button and choose "export to .m file...". You can edit the mfile afterward.
1 Comment
What was the error? This method works perfectly in my computer.
You should know the structure of the code and which functions run first. As I said you should not be saving a mlapp file. You should save a .m file and you will run this .m file. If you have another depended .m files put them on the same folder and check where you call them in main .m file.
Categories
Find more on Software Development Tools in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!