Skip to main content

How do I access a MATLAB UI function in another .m file?

  I am attempting to declutter my MATLAB app code by separating some of the initialization into separate .m files. For this I have set up various files for each type of component (e.g. a file for buttons, graph, etc.). I am attempting to access a function in my master initialize file from the file for buttons. My code goes as follows in the buttons .m file goes as follow:   classdef buttons < handle methods %initializes the UI function buttonCreate(app) %Create file load 1 app.fileload1 = uibutton(app.gridLayout, 'push'); app.fileload1.FontSize = 36; app.fileload1.Layout.Row = [8 9]; app.fileload1.Layout.Column = 1; app.fileload1.Text = 'Load 1'; %proceeds to create the rest of the buttons end end end Now I attempt to access the  buttonCreate()  function in my master initialize file  initialize.m :   classdef initialize < handle prop

How do I access a MATLAB UI function in another .m file?

 I am attempting to declutter my MATLAB app code by separating some of the initialization into separate .m files. For this I have set up various files for each type of component (e.g. a file for buttons, graph, etc.). I am attempting to access a function in my master initialize file from the file for buttons. My code goes as follows in the buttons .m file goes as follow:

 

classdef buttons < handle
    methods
        %initializes the UI
        function buttonCreate(app)
           
            %Create file load 1
            app.fileload1 = uibutton(app.gridLayout, 'push');
            app.fileload1.FontSize = 36;
            app.fileload1.Layout.Row = [8 9];
            app.fileload1.Layout.Column = 1;
            app.fileload1.Text = 'Load 1';

            %proceeds to create the rest of the buttons
        end
    end
end

Now I attempt to access the buttonCreate() function in my master initialize file initialize.m:

 

classdef initialize < handle
    properties 
        fig
        gridLayout
        axes

        fileload1
    end
    methods
        %initializes the UI
        function init(app)
            %create canvas
            import buttons.*;
            fig = uifigure;
            fig.Position = [100 100 1920 1080];
            movegui(fig,'center');
            fig.Name = "Audio Editor";

            %Create grid layout
            gridLayout = uigridlayout(fig);
            gridLayout.ColumnWidth = {'1x', '1x', '1x', '1x', '1x', '1x', '1x', '1x', '1x', '1x'};
            gridLayout.RowHeight = {'1x', '1x', '1x', '1x', '1x', '1x', '1x', '1x', '1x', '1x', '1x', '1x', '1x', '1x', '1x', '1x', '1x', '1x', '1x', '1x', '1x'};

            buttonCreate(app);

        end
    end
    %code for calling and deleting
    methods
        %calls code to create canvas upon app start
        function app = initialize
            init(app)
        end
        %removes the app and deletes app.fig
        function delete(app)
            delete(app.fig);
        end
    end
end
Error in initialize/init (line 41)
            buttonCreate(app);
            ^^^^^^^^^^^^^^^^^^
Error in initialize (line 54)
            init(app)
            ^^^^^^^^^

This resulted in the UIFigure still being created, but with no button and the terminal giving the error given above.


NOTE:-


Matlabsolutions.com provide latest MatLab Homework Help,MatLab Assignment Help , Finance Assignment Help for students, engineers and researchers in Multiple Branches like ECE, EEE, CSE, Mechanical, Civil with 100% output.Matlab Code for B.E, B.Tech,M.E,M.Tech, Ph.D. Scholars with 100% privacy guaranteed. Get MATLAB projects with source code for your learning and research.



Seems like you're doing some sort of combination of two distinct things:

  1. Use a simple function, which can be in its own .m file or one of the methods of your main class:

 

% in your initialise class constructor you still have
buttonCreate(app);
% In buttonCreate.m
function buttonCreate(app)           
    % Create file load 1
    app.fileload1 = uibutton(app.gridLayout, 'push');
    app.fileload1.FontSize = 36;
    app.fileload1.Layout.Row = [8 9];
    % ...
end
  1. Use a class to hold references to all of your buttons, in which case the objects you create would be properties of that class, rather than the main app object:

 

 SEE COMPLETE ANSWER CLICK THE LINK

Comments

Popular posts from this blog

What are some good alternatives to Simulink?

Matlabsolutions provide latest  MatLab Homework Help, MatLab Assignment Help  for students, engineers and researchers in Multiple Branches like ECE, EEE, CSE, Mechanical, Civil with 100% output.Matlab Code for B.E, B.Tech,M.E,M.Tech, Ph.D. Scholars with 100% privacy guaranteed. Get MATLAB projects with source code for your learning and research. SIMULINK is a visual programing environment specially for time transient simulations and ordinary differential equations. Depending on what you need there are plenty of Free, Libre and Open Source Software (FLOSS) available: Modelica language is the most viable alternative and in my opinion it is also a superior option to MathWorks SIMULINK. There are open source implementations  OpenModelica  and  JModelica . One of the main advantages with Modelica that you can code a multidimensional ordinary differential equation with algebraic discrete non-causal equations. With OpenModelica you may create a non-causal model right in the GUI and with
https://journals.worldnomads.com/scholarships/story/70330/Worldwide/Dat-shares-his-photos-from-Bhutan https://www.blogger.com/comment.g?blogID=441349916452722960&postID=9118208214656837886&page=2&token=1554200958385 https://todaysinspiration.blogspot.com/2016/08/lp-have-look-at-this-this-is-from.html?showComment=1554201056566#c578424769512920148 https://behaviorpsych.blogspot.com/p/goal-bank.html?showComment=1554201200695 https://billlumaye.blogspot.com/2012/10/tagg-romney-drops-by-bill-show.html?showComment=1550657710334#c7928008051819098612 http://blog.phdays.com/2014/07/review-of-waf-bypass-tasks.html?showComment=1554201301305#c6351671948289526101 http://www.readyshelby.org/blog/gifts-of-preparedness/#comment_form http://www.hanabilkova.svet-stranek.cz/nakup/ http://www.23hq.com/shailendrasingh/photo/21681053 http://blogs.stlawu.edu/jbpcultureandmedia/2013/11/18/blog-entry-10-guns-as-free-speech/comment-page-1443/#comment-198345 https://journals.worldnomads.com

Stretch the dynamic range of the given 8-bit grayscale image using MATL...