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

Probleme mit checkbox 'Value' übergabe

 

derwolf1509

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.03.2010, 17:46     Titel: Probleme mit checkbox 'Value' übergabe
  Antworten mit Zitat      
Hallo Zusammen,

ich habe ein Problem und komm einfach nicht weiter. Ich möchte über eine Checkbox auswählen, was beim drücken eies buttons passiert. mein Code sieht bis jetzt so aus!
Code:
function xy
bgc=[0.8 0.8 0];

f=figure('Visible', 'on','Position', [360, 500, 600, 500],'Color',bgc);
plotAcc     = uicontrol('Style','pushbutton','String','Plot Acceleration','Position',[375, 315, 100, 25],...
                        'ToolTipString','Plots all important variables ','Callback',{@plotAcc_Callback});
checkbox1   = uicontrol('Style','checkbox','String','save data','Value',0,'Position',[485, 315, 100, 25],...
                        'Tag','checkbox1','BackgroundColor',bgc,'Callback',{@checkbox1_Callback});  

%% Callbacks

% plotACC Callback
    function plotAcc_Callback(source, eventdata, handels)
        a=0;
        if %checkbox1 ==1
            plotxy
        else
        plot_dpAcceleration
    end
    end
% checkbox1 Callback
    function  checkbox1_Callback(source, eventdata, handels)  
       
        end

end


Wie muss ich das file ändern das ich den 'Value' wert der Checkbox an die plot_acc_Callback übergeben kann.

Danke euch schon mal.

Gruß
[/code]


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 03.03.2010, 18:06     Titel:
  Antworten mit Zitat      
Hallo

Code:

function xy
bgc=[0.8 0.8 0];

f=figure('Visible', 'on','Position', [360, 500, 600, 500],'Color',bgc);
plotAcc     = uicontrol('Style','pushbutton','String','Plot Acceleration','Position',[375, 315, 100, 25],...
                        'ToolTipString','Plots all important variables ','Callback',{@plotAcc_Callback,guidata(gcbo)});
checkbox1   = uicontrol('Style','checkbox','String','save data','Value',0,'Position',[485, 315, 100, 25],...
                        'Tag','checkbox1','BackgroundColor',bgc,'Callback',{@checkbox1_Callback,guidata(gcbo)});

%% Callbacks

% plotACC Callback
    function plotAcc_Callback(source, eventdata, handels)
        a=0;
        if get(handles.checkbox1,'Value')
            plotxy
        else
        plot_dpAcceleration
    end
    end
% checkbox1 Callback
    function  checkbox1_Callback(source, eventdata, handels)  
    new_value = setxor(get(handles.checkbox1,'Value'),[0 1])  
    set(handles.checkbox1,'Value', new_value)
    end

end
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan*
Forum-Century

Forum-Century


Beiträge: 178
Anmeldedatum: 06.11.09
Wohnort: ---
Version: R2007b
     Beitrag Verfasst am: 03.03.2010, 18:07     Titel:
  Antworten mit Zitat      
Hi,

an den Wert einer Checkbox kommst du mit:

Code:
get(handles.checkbox1,'Value');


das geht allerdings nur, wenn du auch "handles", und nicht "handels" übergibst. Rolling Eyes

Gruß Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
derwolf1509

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.03.2010, 10:02     Titel:
  Antworten mit Zitat      
Hallo Zusammen,

hab den Code wie beschrie3ben geändert. Leider bekomme ich immer folgende Fehlermeldung:

??? Error using ==> guidata at 89
H must be the handle to a figure or figure descendent.

Error in ==> xy at 6
plotAcc = uicontrol('Style','pushbutton','String','Plot Acceleration','Position',[375, 315, 100, 25],...

Wo liegt da das Problem?
 
derwolf1509

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.03.2010, 10:05     Titel:
  Antworten mit Zitat      
derwolf1509 hat Folgendes geschrieben:
Hallo Zusammen,

hab den Code wie beschrie3ben geändert. Leider bekomme ich immer folgende Fehlermeldung:

??? Error using ==> guidata at 89
H must be the handle to a figure or figure descendent.

Error in ==> xy at 6
plotAcc = uicontrol('Style','pushbutton','String','Plot Acceleration','Position',[375, 315, 100, 25],...

Wo liegt da das Problem?


Sorry war zu schnell...das Problem oben ist gelöst. Aber jetzt hab ich wieder ein neues. :

??? The class "handles" is undefined.
Perhaps Java is not running.

Error in ==> xy>plotAcc_Callback at 16
if get(handles.checkbox1,'Value')

??? Error while evaluating uicontrol Callback

Was hat es denn damit ausfsich. Muss ich Java irgendwie extra starten??

Danke schonmal
 
derwolf

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.03.2010, 10:28     Titel: Lösung
  Antworten mit Zitat      
Hallo Zusammen,

ich habe das Problem gelößt. Danke an alle

Code:
function xy
bgc=[0.8 0.8 0];

f=figure('Visible', 'on','Position', [360, 500, 600, 500],'Color',bgc);
plotAcc     = uicontrol('Style','pushbutton','String','Plot Acceleration','Position',[375, 315, 100, 25],...
                        'ToolTipString','Plots all important variables ','Callback',{@plotAcc_Callback,guidata(f)});
checkbox1   = uicontrol('Style','checkbox','String','save data','Value',0,'Position',[485, 315, 100, 25],...
                        'Tag','checkbox1','BackgroundColor',bgc,'Callback',{@checkbox1_Callback,guidata(f)});
  guidata(f)
%% Callbacks

% plotACC Callback
    function plotAcc_Callback(source, eventdata, handles)
        handles=guihandles;
        new = get(handles.checkbox1,'Value')
        if new==1;
            a='export'
        else
            a='plot'
    end
    end
% checkbox1 Callback
    function  checkbox1_Callback(source, eventdata, handles)  
        handles=guihandles;
        new_value = get(handles.checkbox1,'Value')  
        set(handles.checkbox1,'Value', new_value)
    end

end
 
Jan*
Forum-Century

Forum-Century


Beiträge: 178
Anmeldedatum: 06.11.09
Wohnort: ---
Version: R2007b
     Beitrag Verfasst am: 04.03.2010, 10:30     Titel:
  Antworten mit Zitat      
Hi,

das ist schlichtweg das Problem, wenn man GUIs ohne GUIDE erstellt. Da gibt es gerade wenn man noch nicht so tief in der GUI Erstellung steckt viele Fehlermöglichkeiten. Ich vermute mal, dass du die Objekte mit handles.plotAcc" und "handles.checkbox1" erstellen musst, oder mit guidata(plotAcc,handles); bzw. guidata(checkbox1,handles); zur handles struktur hinzufügen musst. Ansonsten guck evtl. hier mal rein: http://www.gomatlab.de/gui-ohne-guide-erstellen-t2888.html

Gruß Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
derwolf1509

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.03.2010, 13:22     Titel:
  Antworten mit Zitat      
Jan* hat Folgendes geschrieben:
Hi,

das ist schlichtweg das Problem, wenn man GUIs ohne GUIDE erstellt. Da gibt es gerade wenn man noch nicht so tief in der GUI Erstellung steckt viele Fehlermöglichkeiten. Ich vermute mal, dass du die Objekte mit handles.plotAcc" und "handles.checkbox1" erstellen musst, oder mit guidata(plotAcc,handles); bzw. guidata(checkbox1,handles); zur handles struktur hinzufügen musst. Ansonsten guck evtl. hier mal rein: http://www.gomatlab.de/gui-ohne-guide-erstellen-t2888.html

Gruß Jan


Da Hast du recht. Bin gerade dabei mien ganzes GUI umzuschreiben. Aber bei umfangreichen GUIs finde ich die Erstellung über GUIDE noch undurchsichtiger. Durch das Erstellen von Hand ist zwar die Fehlerrate größer dafür aber das Verständniss für das was gemacht wird besser.

Danke für die, wie immer tolle Hilfe. Mittlerweile klappt alles.
 
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.