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

Toggel_button

 

snowtim
Forum-Anfänger

Forum-Anfänger


Beiträge: 49
Anmeldedatum: 31.03.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.05.2008, 09:44     Titel: Toggel_button
  Antworten mit Zitat      
hi,
ich brauch mal einwenig viel hilfe. ich komme bei meinem Problem einfach nicht weiter und im forum habe ich auch nicht wirklich was gefunden.
Hoffe ihr könnt mir weiter helfen....

Also mein Problem ist folgendes:
Ich habe in meinem Gui einen Toggel-Button,
Code:
function my_togglebutton1_Callback(hObject, eventdata, handles)


if get(hObject,'Value')
   set(hObject,'CData',imread('USA.jpg'))                            
   assignin('base','USA',1)                            
else
    set(hObject,'CData',imread('DEU.jpg'))                          
   assignin('base','Deu',0)                          
   
end

den will ich jetzt über das Gui steuern dabei soll er mir 2 unterscheidliche bilder anzeigen und jeweils einen wert an den Workspace geben.Das geht auch soweit Smile

Aber jetzt will ich das ganze auch über den workspace steuern. hier für habe ich nun folgenden m.file geschrieben:
Code:
function toggle_change_state(s)

h = findall(0,'type','uicontrol','tag','my_togglebutton1');
set(h,'value',s);
 


Jetzt kann ich mit den beiden Befehlen:
>> toggle_change_state(0)
>> toggle_change_state(1)
den zustand des Toggel-Button verändern. da geschieht auch soweit doch die bilder und die unterschiedlichen werte werden nicht angezeigt bzw. an den Workspace gegeben. Es ändert sich lediglich nur der toggel_button.

Hoffe ihr konnt mir hier bei helfen.
Schon mal einen großen dank.

snowtim
Private Nachricht senden Benutzer-Profile anzeigen


snowtim
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 49
Anmeldedatum: 31.03.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.05.2008, 12:31     Titel:
  Antworten mit Zitat      
So ich nochmal, stelle meine Frage mal anders.
Ich kann ja auch dann noch einfach einen Befehl über den Workspace geben mir mein neues bild in die Toggel-box zugeben....
Hatte das jetzt auch wie folgt getan:

>> h = findall(0,'type','uicontrol','tag','my_togglebutton1')

h =

159.0013
um die toggel-box zu finden und jetzt wollte ich über set mir das bild anzeigen lassen.

>> set(h,'value','hObject','CData',imread('USA.jpg'))
??? Error using ==> set
Value must be numeric.

>> set(h,'hObject','CData',imread('USA.jpg'))
??? Error using ==> set
Invalid parameter/value pair arguments.

Doch wie man hier sieht weiß ich leider nicht genau wie ich den befehl hier für schreibe... Twisted Evil

Ich hoffe ihr könnt mir hier bei helfen
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 15.05.2008, 15:39     Titel:
  Antworten mit Zitat      
Hallo

du machst hier folgende Fehler, aber im Prinzip die Befehle sind richtig.
Code:

set(h,'value','hObject','CData',imread('USA.jpg'))
set(h,'hObject','CData',imread('USA.jpg'))
 

1)Value muss numerische Werte enthalten.
Bei 1 -> eingerastet (An)
Bei 0 -> nicht eingerastet (Aus)

2) was willst du mit hObject? So ein Property existiert nicht

Nach jedem PropertyName muss Wert (PropertyVal) folgen
set(handle,PropertyName, PropertyVal)

Ich denke doch schon das so soll ein Bild reingezeichnet werden muss?
Code:

h = findall(0,'type','uicontrol','tag','my_togglebutton1')
set(h,'CData',imread('USA.jpg'))
 


Matlab hat gute Hilfe, einfach bei entsprechendem Befehl reinschauen
Private Nachricht senden Benutzer-Profile anzeigen
 
snowtim
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 49
Anmeldedatum: 31.03.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.05.2008, 07:13     Titel:
  Antworten mit Zitat      
Danke Denny für deine antwort. habe sie auch aus probiert habe mich dann aber für folgende entschieden
Code:
Gui('toggle_change_Callback',h,[],guidata(h));

dies habe ich einfach noch in den m.file eingebaut.

gruß
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 - 2024 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.