"Too many input arguments" error on function within GUI code

4 vues (au cours des 30 derniers jours)
Matt
Matt le 10 Jan 2014
Commenté : CS MATLAB le 30 Nov 2016
Hey! I am writing a GUI that takes in the data from an excel file and then plots in and fits a curve to the data to extract some characteristics of the curve. The code that I have written to build the GUI works fine, but when I try to get the callbacks for the uicontrols to work, I get an error. Here is the code that I am using:
rhUpload = uicontrol(...
'Style', 'pushbutton',...
'String', 'Upload Data',...
'Parent', rhMainFigure,...
'Units', 'normalized',...
'Callback', @rhImport,...
'Position', [0.7 0.25 0.2 0.03],...
'FontSize', 11);
is the code that creates the UI pushbutton
function rhData = rhImport
[file,path]=uigetfile;
rhData = xlsread(fullfile(path,file));
is the code that executes when the pushbutton is pressed. However, when I press the button, I get the following error:
Error using RheologyGUI>rhImport
Too many input arguments.
Error while evaluating uicontrol Callback
Interestingly, I took the function code and created a separate m-file for just that function, and when I execute it, it works fine. Do you know what may be causing this error? Thanks!

Réponse acceptée

Amit
Amit le 11 Jan 2014
Try rhImport(hObject,eventdata) instead of just rhImport.
  2 commentaires
Walter Roberson
Walter Roberson le 11 Jan 2014
Right. Graphics callbacks are automatically passed two arguments.
CS MATLAB
CS MATLAB le 30 Nov 2016
Thank you Amit

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur App Building dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by