Verfasst am: 19.08.2009, 14:02
Titel: Sliderwert in Bezug auf radio button speichern
Hallo zusammen,
ich hab folgendes Problem:
ich hab einen slider. Daneben ein popup Menu. Wenn man da etwas auswählt, kommt eine neue GUI mit radio buttons. Was ich möchte ist, wenn man den slider verschiebt und dann das andere GUI im popup menu auswählt, in diesem radio button auswählt und auf OK drückt, so soll dieser Wert vom radio button beim nächsten mal gespeichert werden. Dh wenn man danach den slider nochmal verschiebt und dieses GUI öffnet, dann soll der vorherige Wert angeklickt sein.
Ich hab jetzt enbissl rumgesucht und etwas gefunden wo ich die Werte in eine Datei speichern kann. Ich möchte dies aber in einen string (wie in c++) speichern, ob das bei matlab geht, ist mir nicht bekannt.
Kann jmd was dazu sagen?
Code:
% --- Executes on button press in pb_Load. function pb_Load_Callback(hObject, eventdata, handles) % hObject handle to pb_Load (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
load radio_buttons;
h=findobj('style','edit','-or','style','slider'); % alle Edit-Boxen und slider suchen u. handles in h schreiben for k=h' % alle handles durchgehen
tag=get(k,'tag'); % Tag lesen
content=var.(tag); % passenden Inhalt aus struct lesen set(k,'string',content); % diesen Inhalt in Edit-Box schreiben end
Jedoch möchte ich keine Werte in dem Sinne abspeichern, sondern nur die Zustände ausgewählter radio buttons. Ich geb ja schon deren Wert zurück, indem ich auf OK button drücke. Irgendwie muss das wesentlich kürzer zu ermöglichen sein. Ich weiss nicht nur wie.
Hast du dein GUI mit GUIDE erstellt? Dann speichere einfach das Fenster als fig-file ab, wenn du es nicht mit SETAPPDATA und GETAPPDATA machen willst, welche sehr schnelle und einfache Lösungen sind. Alternativ kannst du doch den Status auch einfach wieder übergeben an dein anderes GUI...
Ich möchte eigentlich nur den gedrückten radio button von vielen in einem Fenster speichern, das mit dem slider ist wohl zu schwierig für mich da ich noch Einsteiger bin. Jedoch versteh ich die Sachen mit setappdata und getappdata nicht...
wenn du es ganz einfach haben willst, dann speichere einfach den Tag des aktivierten RadioButtons und beim neuen Öffnen des Fensters übergibst du diesen wieder und in der CreateFcn des GUIs setzt du diesen dann wieder:
Ich bin mir nicht hunderprozentig sicher ob das klappt, aber du solltest dich einfach mal intensiv mit dem Beispiel hier aus der Skripte-Ecke zu SETAPPDATA und co. auseinander setzen, ich denke das ist eigentlich recht einfach nachzuvollziehen.
Ne, funktioniert nicht wirklich. Das Fenster schließt und öffnet sich wieder, beim Klicken auf ein radio button. Wie kann ich also den Zustand eines radio buttons abspeichern?
ich speicher ja die Werte der radio buttons beim Verlassen des Fensters ab:
Code:
functionvarargout = wohngebaeude_gui_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
%Zurückgeben der Werte von radio buttons beim Schließen des Fensters
h = [handles.radiobutton1 handles.radiobutton2 handles.radiobutton3 handles.radiobutton4 handles.radiobutton5 handles.radiobutton6 handles.radiobutton7 handles.radiobutton8 handles.radiobutton9 handles.radiobutton10 handles.radiobutton11 handles.radiobutton12 handles.radiobutton13];
varargout{true} = get(h,'Value');
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
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.