Verfasst am: 18.03.2013, 00:22
Titel: GUI stoppt nach einmaliger Ausführung eines Callbacks
Liebe Freunde der Sonne.
Sitze hier an einem recht dringenden Problem, das ich ehrlich gesagt überhaupt nicht verstehe. Ich entwickle ein GUI für ein simples Programm, in dem es lediglich darum gehen soll, eine Matrix aus Nullen und Einsen anzuzeigen und per Klick durch Maus den jeweiligen Wert in der Matrix zu invertieren.
Ich führe den Code aus > leere Matrix wird angezeigt > ich klicke auf ein Feld > das Feld wird schwarz und die Position über die Konsole ausgegeben > das Programm bricht ohne Fehlermeldung ab.
Eigentlich soll der Benutzer beliebig oft die Matrix bearbeiten können, eh es weitergeht. Vielleicht könnt ihr mir verraten, wo mein Denkfehler liegt. Hier der Code:
Ich habe versucht, die ButtonDownFcn manuell wieder zurückzusetzen, aber das hat nicht geklappt. Insofern habe ich hier erstmal auch keine Abhilfe, außer den Rat aus der Hilfe, mit PATCH zu arbeiten.
Tausend Dank für die schnelle Antwort! Dass das daran liegen könnte, dass der beim Plotten die Funktion überschreibt, wäre mir nicht aufgefallen
Ich habe es jetzt so gemacht, dass ich den Klick nicht über die Axes, sondern über das Fenster an sich abfrage. Das kann ich aber auch nur machen, weil ich nur einen einzigen Plot habe.
Jetzt habe ich noch das kleine Problem, dass der beim ersten Klick den Punkt an der falschen Höhe (Y, quasi an der Mitte gespiegelt) platziert. Aber halt nur beim ersten Klick. Woran könnte das liegen??
bevor du das erste "Bild" plottest, ist die y-Achse "normal" ausgerichtet. Sobald ein Bild geplottet wird, wird die y-Achse jedoch von oben nach unten ("reverse") ausgerichtet.
Abhilfe: Nimm in deine OpeningFcn folgenden Code auf:
Damit wird die y-Achse von Anfang an 'reverse' ausgerichtet.
Ich muss sagen, ich habe das Game of Life (darum geht es hier ja sicher?) auch schon implementiert, bin aber immer von zufälligen Anfangsbevölkerungen ausgegangen. Das macht's deutlich einfacher :)
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.