ich versuche mir gerade als GUI-Neuling eine Eingabemaske für ein Simulationsmodell aufzubauen.
Dabei möchte ich über 2 Pop-Up Menus Eingangsparameter für die weitere Berechnung auswählen. Allerdings soll die Auswahl des 2. Pop-Ups von der Auswahl des ersten Pop-Ups abhängig sein. Im ersten Pop-Up stehen 6 Einträge, die im 2. Pop-up drei unterschiedliche Auswahlmöglichkeiten hervorrufen sollen.
Beispiel:
Auswahl 1.Pop-Up
1
2
3
4
5
6
Wähle ich 1 aus soll im 2. Pop-Up folgendes angezeigt werden:
A
B
Wähle ich 2, 3, oder 4 aus:
C
D
E
Wähle ich 5 oder 6 aus:
A
B
C
D
E
F
Wie könnte ich so etwas aufbauen?
Mit diesem Code aus dem Forum bin ich nicht so recht weiter gekommen.
das Beispiel erklärt eigentlich genau, was gemacht werden muss.
Hast du konkrete Fragen?
Implementierst du deine GUI mit GUIDE oder programmatisch?
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 ;)
Meine GUI implementiere ich mit GUIDE.
Ich glaube mein Hauptproblem ist, dass ich nicht genau weiß, wo ich den Code einfügen muss. Ich hatte es in der Opening Function des GUI probiert, das hat nicht geklappt, aber im Callback des ersten Pop-Ups erschien mir irgendwie unlogisch. Ich denke wenn ich wüsste wo ich den Code einfügen muss, wäre das Problem gelöst.
jetzt kommen wir der Sache näher.
Da (wenn ich das richtig verstanden habe) die Auswahl durch den Nutzer im ersten Popupmenü die Veränderung im zweiten Popupmenü bewirken soll, muss der Code in den Callback für das erste Popupmenü - denn dieser wird ja ausgelöst, wenn der Nutzer eine Auswahl trifft.
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 ;)
anscheinend stehe ich grad mächtig aufm Schlauch
Ich habe jetzt den kompletten Code in den Callback vom ersten Pop-Up geschrieben. Jetzt habe ich zwei leere Pop-Up Menus.
vor allem wirft die GUI jetzt wohl auch Fehler?
Genau genommen sollte ein Teil in die Opening Fcn, der Rest in den Callback. Ich versuchs mal:
In die Opening Fcn (vor dem Standardbefehl "guidata(hObject, handles);"):
Wenn das nicht klappen sollte, poste doch bitte die gesamte Anwendung (.fig + .m - Files), und ich schau mir das nochmal genauer an.
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 ;)
aufgrund der eingeschränkten Auswahl hat sich jetzt ein neues Problem ergeben. Dadurch, dass in der Auswahlliste jetzt Einträge fehlen bekomme ich jetzt einen anderen Wert als "Value" als zuvor. Dies führt zu Problemen im weiteren Programmablauf.
Kann ich den "Strings" eines Pop-Up Menus feste Ausgabewerte zuweisen?
in deinem Fall würde es wohl eine Notlösung tun:
wenn im ersten Popupmenü die 2.-4. Variante ausgewählt wurden, zähle im zweiten Popupmenü 2 zur gewählten Option dazu - dann passts ja?
Ansonsten müsste man kreativ werden
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 ;)
leider ist es nicht ganz so einfach, da ich nicht die ersten beiden Einträge aus dem Pop-Up rausnehme sondern in der Mitte einige gelöscht werden. Hab mir jetzt mit einer if-Schleife im Callback des zweiten Pop-Ups geholfen. Ist zwar sicherlich nicht die eleganteste Lösung aber es funktioniert.
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.