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 :

Position d'uicontrol de type edit


Sujet :

Interfaces Graphiques

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2013
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Position d'uicontrol de type edit
    Re Bonjour,

    Je viens vous déranger à nouveau concernant le positionnement intéractif d'objets, grâce à un uicontrol de type 'slider' dans une figure MATLAB.
    J'ai réussi à asservir le positionnement des uicontrol de type 'text' a, mais je n'arrive pas à asservir le positionnement d'uicontrol de type 'edit'.

    Un exemple d'asservissement pour un uicontrol de type 'text' :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    fig = get(hObject, 'parent');
     
    handles = guidata(fig);
     
    handles.indices = get(hObject,'Value');
     
    position=568+1.5*(100-handles.indices);
    set(handles.texte, 'position',[9,position,282,22])
    Un exemple d'uicontrol de type 'edit' que j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nombre_elements=uicontrol(fenetre1,'style','edit','position',[214,position,70,22],'string',15);
    J'ai essayé de le gérer en utilisant plutôt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    handles.nombre_elements=uicontrol(fenetre1,'style','edit','position',[214,position,70,22],'string',15);
    puis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    handles.edit1=uicontrol(fenetre1,'style','edit','position',[214,position,70,22],'string',15);
    en asservissant la position par le même biais que celui donné pour asservir la position des uicontrol de type 'text'.
    Je souhaiterais pouvoir récupérer les valeurs saisies par l'utilisateur par la suite. C'est la raison pour laquelle j'ai d'ores et déjà donné des noms aux uicontrol 'text'.

    Sauriez-vous comment je peux asservir la position des uicontrol de type 'text' grâce au slider ??

    Merci beaucoup !

  2. #2
    Membre régulier
    Inscrit en
    Décembre 2012
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Décembre 2012
    Messages : 97
    Points : 87
    Points
    87
    Par défaut
    Bonsoir,

    Il te faut ajouter à la fonction Callback la ligne suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set(handles.edit1,'position',[9,position,282,22])
    La position est à adapter selon tes besoins.

    Pour reprendre l'exemple de Dut de la discussion précédente :

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    function test
     
    fenetre1 = figure;
    set(fenetre1,'position',[500,100,350,600]);
    set(fenetre1,'Name','Saisie des données du problèmes');
    set(fenetre1,'menubar','none');
     
    handles.slider = uicontrol(fenetre1,...
        'Style','slider',...
        'Min',0,'Max',10,...
        'Position',[325 20 20 550],...
        'Callback',@PlotGUI);
     
    handles.indices = 0;
    position=568-handles.indices;
     
    handles.texte = uicontrol(fenetre1,...
        'style','text',...
        'Position',[9,position,282,22],...
        'string','Paramètres du modèle',...
        'fontsize',12,...
        'fontweight','bold');
     
    handles.edit1 = uicontrol(fenetre1,...
        'style','edit',...
        'Position',[9,position-30,282,22],...
        'string',15);
     
    guidata(fenetre1, handles)
     
    function PlotGUI(hObject,eventdata)
     
    fig = get(hObject,'parent');
    handles = guidata(fig);
    handles.indices = get(hObject,'Value');
     
    position=568-handles.indices;
     
    set(handles.texte,'position',[9,position,282,22])
    set(handles.edit1,'position',[9,position-30,282,22])
     
    guidata(fig, handles)

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2013
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Votre code fonctionne, merci beaucoup.

    Je ne comprends pas pourquoi je n'arrive pas à l'adapter mais je vais bien réussir à me débrouiller.

    Merci beaucoup en tout cas !!!
    Bonne fin de journée =)

    Noëlie

Discussions similaires

  1. Déplacement de uicontrol de type 'text'
    Par Super Nonuche dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 01/10/2014, 21h44
  2. Uicontrol de type 'slider'
    Par Noelie26 dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 30/09/2014, 14h25
  3. Récupérer la valeur d'un uicontrol du type edit
    Par titus2709 dans le forum Interfaces Graphiques
    Réponses: 6
    Dernier message: 10/01/2014, 17h48
  4. Effacer un uicontrol de type "texte"
    Par oliv27400 dans le forum Interfaces Graphiques
    Réponses: 3
    Dernier message: 11/07/2013, 13h34
  5. Comment définir une couleur par ligne dans un objet uicontrol de type Text
    Par VinceDA dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 28/05/2007, 12h13

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