Verfasst am: 19.07.2012, 12:59
Titel: ButtomDownFcn in Gui
Hallo!
Ich habe eine Gui mit zwei Axes. In einer möchte ich eine Linie mit der Maus ziehen können, sobald der Pushbottom "choose_level" gedrückt wird. Meine Funktion für diesen Button sieht wie folgt aus:
Code:
function choose_level_Callback(hObject, eventdata, handles) % hObject handle to choose_level (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
danke für die Antwort. Das mit handles funktioniert jetzt so weit. ich habe außerdem aH durch handles.axes_clustertree ersetzt. Jedoch kommt jetzt eine Fehlermeldung, dass die Variable level (also die Linie selbst) unbekannt ist. Aber ich kann doch die line nicht innerhalb von ihr selbst übergeben, oder?
Ich habe das Beispiel eigentlich in einer extra file mal ausprobiert, da hat aller funktioniert... es muss also irgendwie mit der gui zusammenhängen!
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 19.07.2012, 21:53
Titel:
Ok, innerhalb von line bezieht sich hObject also auf line. Deswegen kann auf die line noch innerhalb von StartDragFcn zugegriffen werden, allerdings in draggingFcn nicht mehr. Deswegen muss man es eben übergeben.
Allerdings habe ich jetzt das problem, dass die Linie verschwindet. Ich kann zwar sehen, dass sich ihre Koordinaten ändern beim Ziehen, aber sie wird nicht mehr angezeigt. Wieso???
Ich kann nur raten, weshalb die Linie nicht mehr sichtbar ist. Möglicherweise stimmen die Units nicht überein: Wenn der CurrentPoint in den Units des AXES-Objekts gemessen wird und diese "pixels" sind, die LINE aber in "data"-Units, wird die Linie zwar gezeichnet, aber eventuell ausserhalb der sichtbaren Fläche.
Gruß, Jan
chaplin
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 20.07.2012, 10:52
Titel:
Hm.. das ganze ist mir zu kompliziert geworden. Ich habe jetzt eine andere Lösung gefunden:
Man kann die Matlabfunktion imline mit Hilfe der Constraint function verwenden
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.