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

Variablen für gesamtes GUI verfügbar machen

 

pojo
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 02.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.02.2011, 10:12     Titel: Variablen für gesamtes GUI verfügbar machen
  Antworten mit Zitat      
Hallo,

ich weiß nicht, wo meine Blockade liegt, aber ich bekomme es einfach nicht hin, mittels appdata oder guidata Variablen lokal innerhalb des GUI's verfügbar zu machen, ohne sie immer extra übergeben zu müssen. Die Hilfen habe ich mehrmals durchgelesen, deshalb versuche ich es jetzt mal hier.

Kurz zu meinem Problem: Ich lade über einen Datei-Button einen Datensatz in eine/mehrere Variablen. Beim Klick eines anderen, beliebigen Buttons möchte ich auf diese Daten zugreifen können (bisher kommt immer die Meldung, dass die Variable nicht definiert ist).

Und jetzt zum Verständnisproblem: In der Hilfe bzw. in Tutorials zu diesem Thema steht immer sowas wie

Code:

function appdatatest
fh = figure(....);
button = uicontrol(fh,...);
..
setappdata(fh,...);
 


Von der Logik her kann ich das komplett nachvollziehen, die Variablen liegen dann quasi in der obersten ebene. Ich habe mein GUI aööerdings über den GUI Editor erstellt, deswegen liegen die Infos zum Layout vermutlich in der .fig-Datei, sprich, ich habe keine Ahnung, was ich in meinem Fall bei setappdata() für das fh einsetzen soll! In meinem Code sieht es etwa so aus:

Code:

function varargout = testGUI(varargin)
...
function testGUI_OpeningFcn(hObject, eventdata, handles, varargin)
..
function varargout = testGUI_OutputFcn(hObject, eventdata, handles)
..
function pushbutton1_Callback(hObject, eventdata, handles)
..
% hier wird der Datensatz eingelesen, z.B. daten = load(..);
..
function pushbutton2_Callback(hObject, eventdata, handles)
..
% hier möchte ich auf "daten" ohne Einschränkungen zugreifen können!
..
 


und ich wüsste nicht, wo ich dort setappdata platzieren sollte, um es so nutzen zu können, wie ich es brauche.

Kann mir da jemand helfen?
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 03.02.2011, 11:37     Titel: Re: Variablen für gesamtes GUI verfügbar machen
  Antworten mit Zitat      
Hallo pojo,

"fh" ist in Deinem Beispiel der FIGURE Handle. Die Callbacks bekommen immer als ersten Input den Handle des aufrufenden Objektes. Nun kannst Du diesen benutzen, um an den FIGURE Handle zu kommen:
Code:
fh = ancestor(ObjH, 'figure')

Dann kannst Du die Daten per SETAPPDATA und GETAPPDATA in der Figure speichern. Das macht übrigens auch GUIDATA intern - vielleicht hilft Dir der Befehl auch weiter.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
pojo
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 02.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.02.2011, 14:30     Titel:
  Antworten mit Zitat      
So, jetzt läuft es, danke soweit!
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 - 2025 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.