Verfasst am: 07.08.2017, 11:19
Titel: Wert aus Slider in Textfeld anzeigen
Hallo zusammen,
ich bin grade dabei eine GUI zu programmieren, habe dabei aber ein paar Probleme was die Verknüpfung verschiedener Elemente angeht.
Mittels Slider möchte ich einen Winkel von 0 .. 90° einstellen:
Die Datei txt_Verdrehwinkel sah dann wie folgt aus:
Code:
function txt_Verdrehwinkel_Callback(hObject, eventdata, handles) % hObject handle to SimulationStart (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
Damit wollte ich zumindest überprüfen, ob ich beim Betätigen des Sliders in die Funktion rein komme. Das passiert aber offensichtlich nicht. Folgende Fehlermeldung wird angezeigt:
Code:
Error using txt_Verdrehwinkel_Callback
Too many output arguments.
Error in GUI_Versuchsstand (line85)
'Callback', {@Verdrehwinkel_Walzen_callback, txt_Verdrehwinkel_Callback});
Und welche Absicht steckt dahiner? Suche mal in der Dokumentation unter "Callback". Der gezeigte Code erstellt einen Callback, der die Funktion "Verdrehwinkel_Walzen_callback" mit den Argumenten "hObject, EventData, txt_Verdrehwinkel" auf. Laut Deiner erklärung enthält die Datei "txt_Verdrehwinkel" dann den Callback namens "txt_Verdrehwinkel_Callback"
Das ist ziemlich durcheinander.
1. Die Datei sollte so heißen, wie die erste Funktion darin, um Konfusion zu vermeiden. Der Editor sollte eine netsprechende Warnung anzeigen. Bitte nicht ignorieren.
2. Der dritte Parameter des Callbacks sollte nicht der Aufruf eines weiteren sein. Ich vermute, Du willst einfach nur im Callback des sliders das Text-Feld beschreiben. Dazu benötigst Du keinen weiteren callback.
vielen Dank für deine Antwort. Mit der Feststellung, dass der Code durcheinander ist, hast du leider recht. Leider fehlt mir an einigen Ecken noch das Verständnis für das Programm. Deshalb habe ich versucht deinen Lösungsvorschlag in einem kleinen Testprogramm umzusetzen:
Wo muss ich "handles" denn definieren? Ich war der Meinung, dass es beim Erstellen der Slider/Edit-Felder automatisch erzeugt wird. Nochmals vielen Dank für deine ausführliche Antwort und die Nachsicht mit einem Anfänger.
das automatische Erzeugen der Handles-Struktur erfolgt nur, wenn du GUIDE verwendest. Wenn du die Oberfläche mit Befehlen erzeugst, musst du auch die Handles-Struktur selbst erzeugen, z.B.
vielen Dank! Jetzt funktioniert es. Ich habe versucht ohne GUIDE zu programmieren, da ich gehofft habe, ein besseres Verständnis für das aufzubauen, was passiert.
Viele Grüße
Benni
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.