WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Wie verbinde ich eine checkbox mit einem pop-up-menu?

 

ms1080
Forum-Century

Forum-Century


Beiträge: 203
Anmeldedatum: 02.12.09
Wohnort: ---
Version: R2009
     Beitrag Verfasst am: 06.05.2011, 07:24     Titel: Wie verbinde ich eine checkbox mit einem pop-up-menu?
  Antworten mit Zitat      
hi

ich will eine checkbox anklicken und dann soll erst die grafik im axes erscheinen. mit einem popupmenu will ich dann die anzeige zwischen punkte und linie zwitschen können!

habe euch mal mein Programm als datei mitgeschickt, ist nur als Beispiel zu verstehen, eigentlich sollen mehrer checkboxen mit einem popupmenu verbunden werden!

viel dank

Test.xls
 Beschreibung:
daten laden

Download
 Dateiname:  Test.xls
 Dateigröße:  27.5 KB
 Heruntergeladen:  355 mal
Test_check_popup.fig
 Beschreibung:
fig-file

Download
 Dateiname:  Test_check_popup.fig
 Dateigröße:  4.46 KB
 Heruntergeladen:  336 mal
Test_check_popup.m
 Beschreibung:
m-file

Download
 Dateiname:  Test_check_popup.m
 Dateigröße:  6.63 KB
 Heruntergeladen:  382 mal
Private Nachricht senden Benutzer-Profile anzeigen


ms1080
Themenstarter

Forum-Century

Forum-Century


Beiträge: 203
Anmeldedatum: 02.12.09
Wohnort: ---
Version: R2009
     Beitrag Verfasst am: 06.05.2011, 09:01     Titel:
  Antworten mit Zitat      
hi habe es gelöst mit

Code:


in der popup-funktion, aber es funktioniert erst, wenn man das erstmal das popupmenu betätigt, probiert es euch bitte mal aus!!!

Test_check_popup.m
 Beschreibung:
geänderte m-file

Download
 Dateiname:  Test_check_popup.m
 Dateigröße:  6.21 KB
 Heruntergeladen:  397 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 06.05.2011, 15:44     Titel:
  Antworten mit Zitat      
Hallo,

wenn ich das ausführe und den Haken setze, bekomme ich eine Fehlermeldung "??? Reference to non-existent field 'm1_p'". Das ist nicht weiter verwunderlich, da noch nichts geplottet wurde.
Empfehlung: mit ISFIELD abfragen, ob es den Plot schon gibt, und ihn eben ggf. erstellen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
ms1080
Themenstarter

Forum-Century

Forum-Century


Beiträge: 203
Anmeldedatum: 02.12.09
Wohnort: ---
Version: R2009
     Beitrag Verfasst am: 09.05.2011, 08:35     Titel:
  Antworten mit Zitat      
danke dir, habe es jetzt denke ich hinbekommen!

Cool
Private Nachricht senden Benutzer-Profile anzeigen
 
ms1080
Themenstarter

Forum-Century

Forum-Century


Beiträge: 203
Anmeldedatum: 02.12.09
Wohnort: ---
Version: R2009
     Beitrag Verfasst am: 09.05.2011, 10:20     Titel:
  Antworten mit Zitat      
irgendwie aber nun doch nicht, ich kann jetzt über das popup-menu die Darstellung mit Punkten bzw. mit Linien wählen, aber wenn ich die checkboxen anwähle gibt nimmt er sie weider weg, aber sie sollen, solange die checkboxen aktiviert sind die darstellungen darstellen, und das popup menun soll beim anwählen von punkt zu linie dann automatisch die darstellung verändern, aber halt nur für die, die durch die checkboxen aktiviert wurden...

vielleicht hast du ja ne idee!!

MfG

Nitram

Test_check_popup.m
 Beschreibung:

Download
 Dateiname:  Test_check_popup.m
 Dateigröße:  7.78 KB
 Heruntergeladen:  411 mal
Test_check_popup.fig
 Beschreibung:

Download
 Dateiname:  Test_check_popup.fig
 Dateigröße:  4.69 KB
 Heruntergeladen:  325 mal
Test.xls
 Beschreibung:

Download
 Dateiname:  Test.xls
 Dateigröße:  26.5 KB
 Heruntergeladen:  388 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
ms1080
Themenstarter

Forum-Century

Forum-Century


Beiträge: 203
Anmeldedatum: 02.12.09
Wohnort: ---
Version: R2009
     Beitrag Verfasst am: 10.05.2011, 10:29     Titel:
  Antworten mit Zitat      
Ich habe es geschaft und bin stolz auf mich!

Hier nun meine Lösung:

Es sollte, wie oben erwähnt, ein Diagramm mit unterschiedlichen Graphen gefüllt werden. Das Ziel bestand darin, durch ein Popup-Fenster dem Nutzer dem Möglichkeit zu geben, aus zwei oder mehr Darstellungsvarianten eine auszuwählen. Zusätzlich soll der Nutzer die für Ihn interessanten Graphen durch Check-Boxen ein- bzw. auszublenden.
Die einzulesen Daten wurden zuvor für das ganze Porblem eingelesen und verarbeitet.
Auf eine Besonderheit sei noch hingewiesen, die Graphen werden doppelt-logarithmisch dargestellt!

Was im Augenblicklich noch nicht klappt, ist dass ich, wenn ich die Graphen anzeigen lasse und dann die Darstellungsvariante im Popup-Fenster verändere, die Darstellungen im Diagramm automatisch wechseln, bin da für Vorschläge offen!

Code-Popup-Callback:
Code:

%Übernahme der Daten
m1_x = handles.m1_x;
m2_x = handles.m2_x;
m1_y = handles.m1_y;
m2_y = handles.m2_y;
m1_xi = handles.m1_xi;
m2_xi = handles.m2_xi;
gerade1 = handles.gerade1;
gerade2 = handles.gerade2;

%Definition des popup-menus

val = get (hObject, 'value');

if val == 2
 auswahl = 1
 handles.auswahl = auswahl;
 %Darstellung der Graphen als Punkte
 handles.punkte1 = loglog(m1_x, m1_y, 'b*');
 set(handles.punkte1, 'visible', 'off');
 hold on;
 handles.punkte2 = loglog(m2_x, m2_y, 'r*');
 set(handles.punkte2, 'visible', 'off');
 hold off;
elseif val == 3
 auswahl = 2
 handles.auswahl = auswahl;
 %Darstellung der Graphen als Punkte
 handles.linie1 = loglog(exp(m1_xi), exp(gerade1), 'b');
 set(handles.linie1, 'visible', 'off');
 hold on;
 handles.linie2 = loglog(exp(m2_xi), exp(gerade2), 'r');
 set(handles.linie2, 'visible', 'off');
 hold off;
end

guidata (hObject, handles);
 


Die Variable Auswahl ist für die korrekte Darstellung wichtig, siehe hier im Code für die Check-Boxen (nur für eine dargestellt):

Code:

auswahl = handles.auswahl;

if get (hObject, 'value') == 1
 if auswahl == 1
  set(handles.punkte1, 'visible', 'on');
 elseif auswahl == 2
  set(handles.linie1, 'visible', 'on');
elseif get (hObject, 'value') == 0
 if auswahl == 1
  set(handles.punkte1, 'visible', 'off');
 elseif auswahl == 2
  set(handles.linie1, 'visible', 'off');
 


anbei auch noch das Beispiel von mir!

Vielen dank an alle die mir immer so sehr helfen.

MfG

Nitram Cool

Test.xls
 Beschreibung:

Download
 Dateiname:  Test.xls
 Dateigröße:  26.5 KB
 Heruntergeladen:  373 mal
Test_check_popup.fig
 Beschreibung:

Download
 Dateiname:  Test_check_popup.fig
 Dateigröße:  4.69 KB
 Heruntergeladen:  330 mal
Test_check_popup.m
 Beschreibung:

Download
 Dateiname:  Test_check_popup.m
 Dateigröße:  8.1 KB
 Heruntergeladen:  408 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

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.