Verfasst am: 22.12.2009, 21:10
Titel: radiobutton: nur ein Button auswählbar
Hallo
ich habe folgendes Problem: Ich habe 2 Radiobuttons und will erreichen, dass wenn einer ausgewählt wird, der andere auf 0 gesetzt wird .
Vielleicht kann mir jemand helfen.
% --- Executes on button press in radiobutton1.
function radiobutton1_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of radiobutton1
% --- Executes on button press in radiobutton2.
function radiobutton2_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of radiobutton1
dazu muss eine Button Group in GUIDE gesetzt werden, und die Radio Buttons müssen in diese Button Group gezogen werden.
Grüße,
Harald
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 23.12.2009, 14:03
Titel:
jetzt besteht aber ein anderes Problem:
ich habe erst 2 radiobuttons erstellt, dann die group und dann die buttons da reingezogen.
die abfrage im callback, ob der Button 1 oder 0 ist funktiniert nicht mehr.
ich will , wenn radibutton 1 ist, dass eine bestimmte Berechnung durchgeführt wird, und wenn nicht dann eine andere Berechnung.
Es gibt mir für k keinen wert zurück !
function radiobutton1_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of radiobutton1
die Callback-Function ist auch nicht mehr aktiv. Sie wird durch die SelectionChangeFcn ersetzt / abgelöst.
Wenn du eine Button Group erstellst und die Radio Buttons reinziehst, kommt dementsprechend auch die Warnung
Zitat:
Warning: Callback for uicontrol of style radiobutton will be overwritten when added to a
UIBUTTONGROUP.
Use the SelectionChangeFcn property on the button group instead.
Der Vorteil davon: du hast beide Callbacks in einem (und eine globale Variable ist sowieso nicht nötig).
Grüße,
Harald
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 23.12.2009, 19:16
Titel:
hallo
danke erst mal für die schnelle Antwort !
ja das habe ich gesehen.
aber die SelectionChangeFcn ist nirgends in meinem m-file...
und wie kann ich nun sagen, dass wenn radiobutton 1 gedrückt ist, eine bestimmte rechnnung ablaufen soll und wenn der andre button gedrückt ist, soll eine andere rechnung durchgeführt werden ...
gehe über GUIDE und Rechtsklick der Button Group. Da sollte es unter View die SelectionChange Function geben, die dann im M-File erstellt wird.
Grüße,
Harald
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 24.12.2009, 13:03
Titel:
super, das hat alles soweit geklappt.
jetzt hab ich nur noch ein Problem:
wenn ich das gui starte, dann ist der radiobutton ausgewählt, aber mit der get funktion liefert er mir noch keinen wert, sondern erst wenn ich butoon 2 anklicke und dann wieder 1.
function uipanel2_SelectionChangeFcn(hObject, eventdata, handles)
% hObject handle to the selected object in uipanel2
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
man sollte da auch über SelectedObject gehen. Müsste sogar in der Kurzdoku der SelectionChangeFcn drin stehen.
Grüße,
Harald
P.S.: die SelectionChangeFcn wird natürlich nur ausgeführt, wenn sich etwas ändert. Wenn gleich zu Beginn etwas ausgeführt werden soll, gehört das in die OpeningFcn.
CuteyHoney
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 03.12.2010, 18:41
Titel:
ich habe ein ähnliches problem
bei mir wird leider nicht die position des radiobutton(also der aktive) geladen
mein bisheriges vorgehen ist in die SelectionChangeFcn folgendes zu deklarieren:
k=get(handles.radiobutton1,'Value');
g=get(handles.radiobutton2,'Value');
sodass die variablen jeweils mit 0 und 1 belegt werden.
im speicherteil werden die variablen auch mit den richtigen werten gespeichert, jedoch klappt das laden nicht
ich versuche es mit den befehlen
Bin mir unsicher ob das mit dem parent nötig ist. Hoffe ich konnte helfen.
Gruß
Felix
Einstellungen und Berechtigungen
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.