IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaces Graphiques Discussion :

Appel d'une fonction d'un gui


Sujet :

Interfaces Graphiques

  1. #1
    Membre éclairé
    Inscrit en
    Février 2005
    Messages
    367
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 367
    Par défaut Appel d'une fonction d'un gui
    J'ai réalisé un Gui qui contien la fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function Bouton1_Callback(hObject, eventdata, handles)
     
    ......
    J'ai une autre fonction dans le meme fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     function Bouton2_Callback(hObject, eventdata, handles)
    Comment puis je appeler la fonction Bouton1 dans la fonction bouton2

    En fait je veux que quand l'usager presse le 2ème le premier également s'execute

    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Il suffit simplement de faire un appel classique de la fonction par son nom :

    Par exemple, pour un interface avec 2 boutons, dont l'action du bouton 1 consiste à changer la couleur de l'objet Figure de façon aléatoire. Le bouton 2 effectue la même action mais en appelant le bouton 1 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    % --- Executes on button press in Bouton1.
    function Bouton1_Callback(hObject, eventdata, handles)
    % hObject    handle to Bouton1 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    set(gcbf,'color',rand(3,1))
     
     
    % --- Executes on button press in Bouton2.
    function Bouton2_Callback(hObject, eventdata, handles)
    % hObject    handle to Bouton2 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    Bouton1_Callback;

  3. #3
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    La même chose sans le GUIDE :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    function testGUI
     
    figure
     
    uicontrol('style','pushbutton',...
       'string','Bouton1',...
       'callback',@Bouton1_Callback);
     
     
    uicontrol('style','pushbutton',...
        'units','normalized',...
        'position',[.3 .1 .2 .1],...
       'string','Bouton2',...
       'callback',@Bouton2_Callback);
     
    function Bouton1_Callback(obj,event)
    set(gcbf,'color',rand(3,1))
     
    function Bouton2_Callback(obj,event)
    Bouton1_Callback

  4. #4
    Membre éclairé
    Inscrit en
    Février 2005
    Messages
    367
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 367
    Par défaut
    J'ai une erreur et je vois pas pourquoi :je donne le vrai exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function Clear_Callback(hObject, eventdata, handles)
     
        axes(handles.Fenetre_Plot)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
         function Menu_Clear_Callback(hObject, eventdata, handles)
         Clear_Callback;

    l'erreur est
    ??? Input argument "handles" is undefined.

    Error in ==> (>Clear_Callback at 675
    axes(handles.Fenetre_Plot) %

    Error in ==> Interface_Plan_Production>Menu_Clear_Callback at 958
    Clear_Callback;

    Error in ==> gui_mainfcn at 96
    feval(varargin{:});

    Error in ==> Interface_Plan_Production at 24
    gui_mainfcn(gui_State, varargin{:});

    ??? Error while evaluating uimenu Callback
    Pourtant Fenetre_Plot est bien crée sur l'interface graphique (Interface_Plan_Production).
    La preuve est que quand j'execute la 1ère fonction sa marche mais la 2ème sa bloc

    merci

  5. #5
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Essaie ceci pour le second Callback :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    function Menu_Clear_Callback(hObject, eventdata, handles)
         Clear_Callback(hObject, eventdata, handles);

  6. #6
    Membre éclairé
    Inscrit en
    Février 2005
    Messages
    367
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 367
    Par défaut
    oui sa marche merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Appel d'une fonction à partir d'une interface GUI
    Par samuela dans le forum MATLAB
    Réponses: 10
    Dernier message: 20/06/2014, 12h02
  2. Appel d'une fonction
    Par georgeabitbol dans le forum ASP
    Réponses: 4
    Dernier message: 08/07/2004, 14h29
  3. Réponses: 4
    Dernier message: 02/06/2004, 16h35
  4. Appel d'une fonction
    Par jfphan dans le forum ASP
    Réponses: 4
    Dernier message: 14/04/2004, 15h06
  5. A la recherche de l'appel d'une fonction...
    Par karl3i dans le forum C
    Réponses: 3
    Dernier message: 24/09/2003, 12h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo