Falls du alles killen möchtest, dann am einfachsten geht es
mit findall.
Dieser Befehl sucht alle handles aller geöffnete Objekte raus.
Bitte Aufpassen es schließt wirklich alle geöffneten Fenster, auch die, die man vielleicht nicht schließen wollte
Code:
h_obj = findall(0) % Matlab Konsole(Root ) rauslassen
h_obj =h_obj(2:end);
% und alle handles löschen delete(h_obj);
Sonst muss du gezielt, die handles von geöffneten Fenster in handle-Struktur von Main-Fenster ablegen. Und dann in Callback diese nacheinander Schließen. Beachte dass du noch auf Existenz der handles überprüfen sollst, um Fall abzufangen, Fenster bereits geschlossen zu haben.
ich habe dazu auch noch eine Frage. Ich habe eine GUI, dich ich Hauptmenü, genannt habe. Sie beinhaltet nur 2 Pushbutton. Jeder Button bietet die Möglichkeit eine andere GUI zu starten. Ich möchte aber, dass nach dem Start eine anderen GUI die Hauptmenügui gelöscht wird. Nach dem, was ich gelesen habe, müsste es ja folgendermaßen funktionieren:
Code:
function pushbutton2_Callback(hObject, eventdata, handles)
Tool;
delete(gcbf);
ist das denn auch der richtige Callback? Denn so wie es aussieht sollte funktionieren. Falls das nicht der Fall, bitte lauffähiges Beispiel um das Problem nachvollziehen zu können.
% --- Outputs from this function are returned to the command line. functionvarargout = Hauptmenue_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;
% --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles)
Tool1;
function pushbutton2_Callback(hObject, eventdata, handles)
Tool2;
Sinn und zweck sollte sein, dass egal ob ich Tool1 oder 2 über den Pushbutton öffne, sich danach das Hauptmenü schließt. Und wenn ich den Befehl delete(gcbf) unter tool1 oder 2 schreibe, beide Fälle sollen möglich sein, sollte sich eigentlich die Hauptmenügui schließen, was aber leider nicht funktioniert.
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.