WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

GUI ohne guide erstellen Problem Callback function

 

Matlab_Fürst
Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 19.11.14
Wohnort: Brandenburg
Version: Matlab 2009
     Beitrag Verfasst am: 26.11.2014, 13:32     Titel: GUI ohne guide erstellen Problem Callback function
  Antworten mit Zitat      
Hallo zusammen,

ich möchte ohne die guide Option zu nutzen eine GUI erstellen. Klappt so erstmal ganz gut. Jetzt möchte ich die Callback function eines pushbutton`s bestimmen.

Das sieht so aus:
Code:

function uicontrol_test

f=figure;
handles.f=f;
k=uicontrol('parent',f,'Style','pushbutton','String','Knopf','Position',[20 150 100 70],'Value',0);
e=uicontrol('parent',f,'Style','edit','tag','edit1','String','','Position',[200 150 100 70]);
handles.k=k;
handles.e=e;
set(k,'Callback',{@Callback_fcn,(handles)});

function  Callback_fcn(handles)
i=1;
while get(handles.e,'Value')
    i=i+1;
    set(handles.e,'String',i)
end
 


Bei betätigen bekomme ich folgende Fehlermeldung:

??? Error using ==> uicontrol_test>Callback_fcn
Too many input arguments.

??? Error while evaluating uicontrol Callback

Warum? Ich Find den Fehler einfach nicht.

Danke im vorraus
_________________

Wer schwindelt der lügt.
Private Nachricht senden Benutzer-Profile anzeigen


DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 26.11.2014, 14:19     Titel:
  Antworten mit Zitat      
Das wäre eine Möglichkeit. Deine while Schleife verstehe ich aber nicht.

Code:

function uicontrol_test

handles.f=figure;
handles.k=uicontrol('parent',handles.f,'Style','pushbutton','String','Knopf','Position',[20 150 100 70],'Value',0);
handles.e=uicontrol('parent',handles.f,'Style','edit','tag','edit1','String','','Position',[200 150 100 70]);
set(handles.k,'Callback',{@Callback_fcn});
handles.i = 1;
% Update handles structure
guidata(handles.f, handles);

function  Callback_fcn(hObject,eventdata)
% get handles structure
handles = guidata(hObject);
set(handles.e,'String',num2str(handles.i,'%d'));
handles.i = handles.i + 1;
% save the changes to the structure
guidata(gcbo,handles);
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Matlab_Fürst
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 19.11.14
Wohnort: Brandenburg
Version: Matlab 2009
     Beitrag Verfasst am: 26.11.2014, 14:35     Titel:
  Antworten mit Zitat      
Super Danke.
Eigentliches Vorhaben war das ich den button drücke(und gedrückt halte), dann zählt er i hoch und ich kann im edit Fenster sehen wie er hochzählt und wenn ich den button los lasse dann hört er auf i hochzuzählen.
Klar das es nicht funktionert hätte aber ich bin ja schon an der function gescheitert. Very Happy
Also die Callback function ist dafür nicht geeignet. Welche müsste ich nehmen?

Vielen Dank für die Schnelle Antwort
_________________

Wer schwindelt der lügt.
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.