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

Grafischer Push-Button

 

astf
Forum-Anfänger

Forum-Anfänger


Beiträge: 33
Anmeldedatum: 06.12.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.12.2010, 07:21     Titel: Grafischer Push-Button
  Antworten mit Zitat      
Hallo zusammen!

Ich möchte einen grafischen Push-Button erstellen, der auf Klick eine bestimmte Aktion ausführt. Meine erste Idee war es, über imshow in einem axes-Objekt die Grafikquelldatei anzeigen zu lassen und dann über eine ClickedCallback-Funktion die Aktion auszuführen. Leider passiert gar nichts dabei. Callback-Funktion scheint für axes-Objekte so nicht zu funktionieren. Weiß da jemand weiter?

Gruß,

Sven
Private Nachricht senden Benutzer-Profile anzeigen


eupho
Forum-Meister

Forum-Meister


Beiträge: 777
Anmeldedatum: 07.01.09
Wohnort: Marburg
Version: R2009b
     Beitrag Verfasst am: 06.12.2010, 07:51     Titel:
  Antworten mit Zitat      
Dafür gibt es doch extra eine Property?! 'CData' heißt die..
Private Nachricht senden Benutzer-Profile anzeigen
 
Lord nibbler

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.12.2010, 08:14     Titel:
  Antworten mit Zitat      
Hallo eupho,

genau dafür gibt es den pusbutton in den uicontrols

Code:
uicontrol('Style','pushbutton')


Gruß Lord nibbler
 
astf
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 33
Anmeldedatum: 06.12.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.12.2010, 08:53     Titel:
  Antworten mit Zitat      
Hi!

Danke für die Antworten. Leider finde ich im dazugehörigen axes - Property Inspector keine property namens CData.

Gruß,

Sven
Private Nachricht senden Benutzer-Profile anzeigen
 
Lord nibbler

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.12.2010, 09:00     Titel:
  Antworten mit Zitat      
für uicontrols brauchst du keine axes.

Code:


Gruß Lord nibbler
 
eupho
Forum-Meister

Forum-Meister


Beiträge: 777
Anmeldedatum: 07.01.09
Wohnort: Marburg
Version: R2009b
     Beitrag Verfasst am: 06.12.2010, 09:11     Titel:
  Antworten mit Zitat      
Zitat:
Danke für die Antworten. Leider finde ich im dazugehörigen axes - Property Inspector keine property namens CData.


In der Property des pushbuttons, nicht von der Axes!
Private Nachricht senden Benutzer-Profile anzeigen
 
astf
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 33
Anmeldedatum: 06.12.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.12.2010, 09:21     Titel:
  Antworten mit Zitat      
Sorry, mit grafischem Button meinte ich sowas wie eine anklickbare jpeg-Datei!
Private Nachricht senden Benutzer-Profile anzeigen
 
eupho
Forum-Meister

Forum-Meister


Beiträge: 777
Anmeldedatum: 07.01.09
Wohnort: Marburg
Version: R2009b
     Beitrag Verfasst am: 06.12.2010, 09:28     Titel:
  Antworten mit Zitat      
Ja, imread('bla.jpg') in die CData schreiben...
Private Nachricht senden Benutzer-Profile anzeigen
 
astf
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 33
Anmeldedatum: 06.12.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.12.2010, 09:56     Titel:
  Antworten mit Zitat      
Super, funktioniert, danke!
Jetzt fehlt nur noch eins Smile
Wie kann ich denn die Grafikdatei auf die Größe des Buttons fitten?
Habe bei imread keine Option dafür gefunden.

Gruß,

Sven
Private Nachricht senden Benutzer-Profile anzeigen
 
eupho
Forum-Meister

Forum-Meister


Beiträge: 777
Anmeldedatum: 07.01.09
Wohnort: Marburg
Version: R2009b
     Beitrag Verfasst am: 06.12.2010, 12:49     Titel:
  Antworten mit Zitat      
Mit imresize() lässt sich das machen..
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 06.12.2010, 18:19     Titel:
  Antworten mit Zitat      
Hallo astf,,

Wenn Deine Matlab-Version kein IMRESIZE enthält, schafft auch INTERP2 eine Verkleinerung - allerdings etwas weniger hübsch.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
astf
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 33
Anmeldedatum: 06.12.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.12.2010, 06:21     Titel:
  Antworten mit Zitat      
Danke schön, imresize funktioniert.
Ich bekomme nun leider keinen Callback hin, der eine Funktion aufruft.

also sowas wie
...,'Callback','testfunktion(hObject, eventdata, handles)',...

ich erhalte dann eine Fehlermeldung:

??? Undefined function or variable 'hObject'.
??? Error while evaluating uicontrol Callback

Die Testfunktion sehe z.b. so aus:
function testfunktion(hObject, eventdata, handles)
msgbox('test')
Die uicontrol ist in der OpeningFcn definiert, wo ja auch schon hObject übergeben ist. Ich verstehe nicht, warum es nicht funktioniert! Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
astf
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 33
Anmeldedatum: 06.12.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.12.2010, 06:32     Titel:
  Antworten mit Zitat      
Habe im Internet auch schon fast das gleiche Problem gesehen, wurde leider nicht beantwortet:

I have problem in dealing with functions in uicontrol, for example

function main

uicontrol('Style','pushbutton', 'Units','point', 'Position',[330 15 50 20], ...
'String','Enter', 'FontSize',[8],'FontWeight','bold','Callback','myfun_below');

function myfun_below
disp('working')

Above scrip doesn't work, when I press 'Enter', it shows error

??? Undefined function or variable 'myfun_below'.

??? Error while evaluating uicontrol Callback.


however the same logic works.

function main
myfun_below

function myfun_below
disp('working')
Private Nachricht senden Benutzer-Profile anzeigen
 
eupho
Forum-Meister

Forum-Meister


Beiträge: 777
Anmeldedatum: 07.01.09
Wohnort: Marburg
Version: R2009b
     Beitrag Verfasst am: 07.12.2010, 08:31     Titel:
  Antworten mit Zitat      
Funktionen ruft man mit einem @ auf: @myfun_below
Private Nachricht senden Benutzer-Profile anzeigen
 
astf
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 33
Anmeldedatum: 06.12.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.12.2010, 08:50     Titel:
  Antworten mit Zitat      
Ok, aber das hier funktioniert auch nicht (Output:ans=@myfun_below):

function main

uicontrol('Style','pushbutton', 'Units','point', 'Position',[330 15 50 20], ...
'String','Enter', 'FontSize',[8],'FontWeight','bold','Callback','@myfun_below');

function myfun_below
disp('working')
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2  Weiter

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.