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 :

Utiliser la valeur d'un Slider dans une variable


Sujet :

Interfaces Graphiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Novembre 2012
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 166
    Par défaut Utiliser la valeur d'un Slider dans une variable
    Bonjour,

    J'aimerais exporter du GUI la valeur d'un slider dans la variable M, car cette variable est utilisée dans le reste de mon code et dans d'autres fichier .m. Si je n'exporte pas cette variable dans le workspace, les fichiers .m qui utilisent la variable M ne fonctionnent donc pas pour l'instant.

    Voici mon code qui ne fonctionne pas du tout, je n'ai pas la variable M affichée dans le workspace :

    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
    % --- Executes on slider movement.
    function slider8_Callback(hObject, eventdata, handles)
    M = get(hObject,'Value');
    set(handles.text10,'String',num2str(M+1));
     
     
    function slider8_CreateFcn(hObject, eventdata, handles)
    if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
        set(hObject,'BackgroundColor',[.9 .9 .9]);
    end
     
    function slider8_OpeningFcn(hObject, eventdata, handles)
    M = varargin{1};
     
    function varargout = slider8_OutputFcn(hObject, eventdata, handles)
    varargout{1} = sortie_M;
    [M] = slider8(M);
    Savez-vous comment faire ?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    De quelle façon utilises-tu cette interface par rapport à tes autres fonctions ?

    slider8 étant un objet Uicontrol Slider, il ne devrait normalement pas comporter les fonctions OpeningFcn et OutputFcn... Aurais-tu nommé ton slider du même nom que ton .m ?

    Je te conseille la lecture de ce tutoriel.

  3. #3
    Membre confirmé
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Novembre 2012
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 166
    Par défaut
    J'exécute un GUI qui comporte d'autres sliders en plus de celui-ci, le script ne s'appelle pas du tout slider8.m (pour répondre à ta question) et contient dans le code l'appel à des scripts.m qui font appel aux valeurs des sliders.

    Donc en gros j'aimerais (aussi avec mes autres sliders) pouvoir stocker dans le workspace les valeurs de tout ces sliders, pour que le lancement d'autres scripts.m puissent les utiliser.

    Genre : je lance le gui, je choisis les paramètres a, b, c de 3 sliders différents et ensuite je valide avec un bouton de test, et ça m'exécute un algo qui est dans un autre fichier .m et qui prend en compte les 3 valeurs a, b et c.

    Si ça ne convient pas, je souhaite pouvoir changer les valeurs a, b et c (sans avoir à fermer le gui) et relancer avec le bouton de test.

    J'ai tout qui fonctionne sauf que ces valeurs que je n'arrive pas à rentrer dans des variables.

    J'ai déjà maté le lien que tu m'as mis, mais j'ai vraiment du mal.

    Si tu as capté ce que je voulais, je veux bien de l'aide car je suis sur le point de finaliser mon programme, il ne me manque que ça.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Il suffit dans la fonction Callback de ton bouton de récupérer les différentes valeurs des sliders, puis de les passer en paramètre à ta fonction externe qui exécute l'algorithme.

  5. #5
    Membre confirmé
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Novembre 2012
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 166
    Par défaut
    Bhen justement, je pensais pouvoir le faire via varargout mais ça ne semble pas fonctionner.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function tonBouton_Callback(hObject, eventData, handles)
     
    valeurSlider = get( handles.tonSlider, 'Value');
    traitement(valeurSlider)

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/05/2012, 22h41
  2. [formulaire] Récuperer la valeur d'un select dans une variable
    Par Despec dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 03/11/2006, 15h45
  3. Affecter valeur d'un champ dans une variable
    Par Sly2k dans le forum Access
    Réponses: 3
    Dernier message: 17/08/2006, 09h43
  4. utiliser le resultat d'un SUM dans une variable
    Par Qapoka dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 16/05/2006, 15h47
  5. Utiliser la valeur d'un input dans une variable php
    Par megane dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 09/08/2005, 16h02

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