App Designer - how to run code before components are created?

I would like to run MATLAB code before the components of the app are initialized. The default workflow is
function app = time_evolution_app_R2_0_v18_resized
% Create and configure components
createComponents(app)
% Register the app with App Designer
registerApp(app, app.MulticellularModelSimulatorUIFigure)
% Execute the startup function
runStartupFcn(app, @startupFcn)
if nargout == 0
clear app
end
end
Therefore, the first editable code is placed after createComponents() and registerApp() are called. Is there any way to place code before runStartupFcn()?
Specifically, I have a bunch of graphics I use for buttons in the app, which I would like to store in a subfolder. However, the only possibility seems to either (1) place the graphics in the same folder as the app, (2) manually add the subfolder with graphics to my MATLAB path. Is there any way to automatically add a subfolder to the path when running the app, before the app components are created?

댓글 수: 7

This is a rather annoying feature of the App Designer. Would be nice to have some feedback from MathWorks on this.
If you save your .mlapp as a .m in appdesigner, you can edit the script itself. Then just run the .m script to run your app.
It does not work to me, I keep opening file with all wierd symbols
How could I edit it?
Ankit
Ankit 2019년 10월 8일
편집: Ankit 2019년 10월 8일
I think you renamed the file. Have you tried exporting from the app designer?
yes, sorry, you're right
It worked
Will Reeves
Will Reeves 2023년 3월 14일
편집: Will Reeves 2023년 3월 14일
Can I confirm that since October 2019 this reasonable "feature request" hasn't been included?... Or maybe an "advance mode" option that allows a user to freely edit all areas of code?
As of R2022a, images do not need to be on the MATLAB path to be used in App Designer.
There is a workaround to call addpath with a dummy propery variable
properties (Access = private)
dummyvariable = addpath('./icons')
end

댓글을 달려면 로그인하십시오.

답변 (1개)

Laura V.
Laura V. 2023년 4월 17일

0 개 추천

I'm dealing with the same problem but due to another reason. I would like to implement a Matlab version check before createComponents. Implementing a version check in startupFcn would be too late for features like wordwrap that cause an error with older Matlab versions in createComponents....

카테고리

도움말 센터File Exchange에서 Develop Apps Using App Designer에 대해 자세히 알아보기

태그

질문:

2018년 5월 17일

답변:

2023년 4월 17일

Community Treasure Hunt

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

Start Hunting!

Translated by