Importieren von Werten von einem Fenster in ein anderes in MATLAB GUI
-
21-12-2019 - |
Frage
Angenommen, ich habe eine Schaltfläche in einem Fenster, auf die beim Klicken ein neues Fenster angezeigt wird.Ich nenne dieses Fenster (mit dem Namen von My_New_Window
) mit dieser Syntax:
My_New_Window();
Ich möchte einige Werte aus dem Hauptfenster in dieses neue Fenster einfügen.Ich weiß, dass ich verwenden kann setappdata
oder getappdata
zu diesem Zweck aber gibt es einen anderen Weg dazu?Zum Beispiel wie diese Syntax:
My_New_Window(Values);
Eine andere Frage.Wenn wir verwenden setappdata
oder getappdata
, wo speichert MATLAB diese Daten?Im RAM oder auf der Festplatte?
Lösung
Ja, Sie können verwenden
My_New_Window(Values);
Zum Beispiel können Sie in GUIDE alle Parameter, die Sie an Ihre GUI übergeben, in derOpeningFcn
mit seinervarargin
Eingang.Einfach zuweisenvarargin
zu Ihremhandles
struktur und Verwendungguidata(hObject, handles);
Betreffen
setappdata
- GEM dieses Buch die Daten werden in einem "Objekt" gespeichert.Da sich Objekte im Speicher befinden, kann davon ausgegangen werden, dass sie tatsächlich im RAM gespeichert sind.
Andere Tipps
Sie können Daten in der GUI-Benutzerdateneigenschaft speichern:
set(handletoFigure,'UserData',Values);
wenn Sie die andere GUI öffnen, rufen Sie die Informationen ab:
Values = get(handletoFigure,'UserData);
Gibt es einen Grund, warum Sie setappdata / getappdata nicht verwenden möchten?
Was deine 2. Frage betrifft, weiß ich nicht, tut mir leid.Ich denke, es ist der RAM, obwohl