Verfasst am: 23.10.2020, 11:17
Titel: Button für Abfrage/ Dialogbox
Hallo,
ich habe in meiner GUI einen Button zum Beenden der GUI und zum schließen aller offenen Figures erstellt
Code:
function beenden_Callback(hObject, eventdata, handles) % hObject handle to beenden (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
%close(gcbf) set(handles.output, 'HandleVisibility', 'off');
closeall;
set(handles.output, 'HandleVisibility', 'on');
delete(gcbf)
ich würde bei GUIDE questdlg verwenden. Das gibt eine Antwort zurück, die du mit einem switch-case nachverarbeiten kannst, siehe Beispiele in der Doku.
close all finde ich unschön. So kann ein Anwender Plots verlieren, die er vielleicht schon vor dem Öffnen der GUI erstellt hat. Man sollte meiner Meinung nach mitloggen, welche Fenster von der GUI geöffnet werden und nur die Fenster schließen, die von der GUI geöffnet wurden.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Hallo,
Man sollte meiner Meinung nach mitloggen, welche Fenster von der GUI geöffnet werden und nur die Fenster schließen, die von der GUI geöffnet wurden.
Wie "loggt man mit" was NUR von der GUI geöffnet wurde?
Mein code sieht etwas unelegant bisher so aus und funktioniert auch.
Code:
function beenden_Callback(hObject, eventdata, handles) % hObject handle to beenden (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
%close(gcbf)
h=questdlg('Would you like to close the GUI?','Matlab','Yes','No','No');
switch h
case 'Yes'
%'OK' code here
set(handles.output, 'HandleVisibility', 'off');
closeall;
set(handles.output, 'HandleVisibility', 'on');
delete(gcbf) case 'NO'
%abort code
otherwise end
Den entscheidenden Teil der Meldung sieht man nicht. Du musst das Command Window schon groß genug ziehen.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Was du genau gemacht hast und warum es nicht so funktioniert, wie du dir das vorstellst, kann ich mit diesen Infos nicht sagen.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Wenn sie geschlossen werden sollen (im Callback zum Beenden oder auch in der CloseRequestFcn - die wird aufgerufen, wenn man das Kreuz rechts oben drückt):
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Ja.
An jeder Stelle, an der eine Figure geöffnet wird als Ersatz für einen figure(...) - Befehl.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
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.