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

Funktion aus GUI starten und RÜckgabewerte in Gui verwenden

 

gast5

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.06.2016, 09:44     Titel: Funktion aus GUI starten und RÜckgabewerte in Gui verwenden
  Antworten mit Zitat      
ich habe eine function geschrieben die eine Datei importiert und etwas berechenet und die gibt mir 3 rückgabewerte(variablen) zurück.

Wie kann ich denn nun in meiner GUI auf diese 3 Variablen zugreifen?


gast5

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.06.2016, 10:00     Titel:
  Antworten mit Zitat      
Also ich klicken auf einen Button in der GUI und in der Button Callback steht dann der Name der Funktion: meinefunktion;
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 20.06.2016, 10:05     Titel:
  Antworten mit Zitat      
Hallo,

eine Übersicht zu den Möglichkeiten findest du hier:
http://de.mathworks.com/help/matlab.....data-among-callbacks.html
Ich verwende meist setappdata / getappdata .

Es gibt hier übrigens sehr viele Threads zu dem Thema. Falls du weitere Fragen dazu hast, schau doch bitte auch, ob das nicht schon an anderer Stelle beantwortet wurde.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast5

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.06.2016, 10:41     Titel:
  Antworten mit Zitat      
Das habe ich bereits gelesen, meist wird auch auf guidata oder setappdata hingewiesen.
Aber ich verstehe nicht wie ich das anwende..
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 20.06.2016, 16:22     Titel:
  Antworten mit Zitat      
Hallo,

angesichts der spärlichen Informationen, die du zur Verfügung stellst, kann man dir dabei auch schlecht helfen. Letztlich läuft es darauf hinaus:

Zitat:
To store application data, call the setappdata function:

setappdata(obj,name,value);
The first input, obj, is the component object in which to store the data. The second input, name, is a string that identifies the value. The third input, value, is the value you want to store.

To retrieve application data, use the getappdata function:

data = getappdata(obj,name);


Also: Daten, die nach verlassen eines Callbacks noch zur Verfügung stehen sollen, mit setappdata abspeichern. Bei mit GUIDE erstellten GUIs ist obj in der Regel handles.figure1 .
Wenn man die Daten in einem anderen Callback wieder braucht, dann den entsprechenden getappdata -Befehl verwenden.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast5

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.06.2016, 11:17     Titel:
  Antworten mit Zitat      
Ich habe einfach ein eine TextBox erstellt in die ich eine zahl eingebe, einen Pushbutton wenn ich klicken wird der wert aus der TextBox gehollt und in ein Textfeld reingeschrieben.

und diesen 'wert' will ich abspeichern um in der Callback vom zweiten pushbutton anzuzeigen.
Code:

% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

wert=str2num(get(handles.edit1,'String'));
set(handles.text1,'String',wert);
setappdata(handles.figure1,wert2,wert);


% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton2 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
%set(handles.text2,'String',wert)
%d=getappdata(handles.figure1,wert2);
 



Doch allein das Speichern geht nicht das kommt als Fehlermeldung:

Code:
Undefined function or variable 'wert2'.

Error in setapp>pushbutton1_Callback (line 85)
setappdata(handles.figure1,wert2,6);

Error in gui_mainfcn (line 96)
        feval(varargin{:});

Error in setapp (line 42)
    gui_mainfcn(gui_State, varargin{:});

Error in @(hObject,eventdata)setapp('pushbutton1_Callback',hObject,eventdata,guidata(hObject))

 
Error while evaluating uicontrol Callback
 
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.06.2016, 12:14     Titel:
  Antworten mit Zitat      
Hallo,

Jeweils 'wert2' statt wert2, da es sich hier ja um einen Namen handelt.
Siehe auch das Beispiel in der Doku.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast5

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.06.2016, 13:51     Titel:
  Antworten mit Zitat      
Stimmt danke. Funktioniert nun. Habe aber trotzdem ein Problem.


Ich habe in dem calback eines Pushbuttons einen Aufruf zu einer Funktion. ALso eine Datei die ich geschrieben habe. Die Importiert etwas mit uigetfile und speichert in 2 variablen einige werte.

Wie genau kriege ich den die werte aus dieser Funktion, die ich ja per GUI aufrufe?

Also im GUI PUSHBUTTON-->in der Callback Funktion steht: meinefnktion;

Die wird auch richtig ausgeführt jetzt will ich nur die werte in der GUI zum Beispiel in einem Textfeld ausgeben.
 
Gast5

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.06.2016, 16:32     Titel:
  Antworten mit Zitat      
Hat sich erledigt, die rückgabewerte der funktionen sind direkt in den calbackd vorhanden.

Mal ne andere Frage, gibt es eine befehl der nur die gui schliesst und nicht ganz matlab so wie es exit macht?
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.06.2016, 21:30     Titel:
  Antworten mit Zitat      
Hallo,

von wo aus möchtest du das tun?

Generell würde ich close vorschlagen.

Grüße,
Harald
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.