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 :

Gestion des handles


Sujet :

Interfaces Graphiques

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2009
    Messages : 10
    Par défaut Gestion des handles
    Bonjour,

    J'ai créé une figure avec le guide. Sur clic d'un bouton valider, une nouvelle figure est générée comme je l'avais décrite dans cette discussion.
    Pour résumer, dans une première interface, j'indique un nombre N et je clique sur un bouton "valider" qui me appelle la fonction pushbutton7_Callback().
    Cette fonction génère N fois les éléments contenus dans ma boucle for.

    J'aimerais récupérer la valeur des champs 'String' entrées par l'utilisateur dans les uicontrols 'edit' et les stocke dans un tableau (arrayInfoImg) généré en cliquant sur un pushbouton "ok" qui appelle la fonction okImages_Callback().


    Le code est le suivant :

    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    % --- Executes on button press in pushbutton7.
    function pushbutton7_Callback(hObject, eventdata, handles)
    % hObject    handle to pushbutton7 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    a = 180;
    b = str2double(get(handles.edit7, 'String'));
    wd = cd();
    figureFileName = [wd '\imgProp.fig'];
    fig = figure('FileName', figureFileName, 'Name', 'Propriétés des jeux d''images', 'Tag', 'imgProp', 'NumberTitle', 'off', 'MenuBar', 'none', 'Color', [0.925 0.914 0.847], 'Position', [360 502 400 a*b+20]);
    movegui(fig,'center')
    c = 5;
    uicontrol('Style', 'pushbutton', 'Position', [290 c 70 22], 'Tag', 'okTag', 'Callback', @okImages_Callback, 'String', 'Ok', 'Parent', fig, 'BackgroundColor', [1 1 1], 'ForegroundColor', [0 0 0]);
    for i = 1:b
        j = num2str(i);
        string = ['** Set ' j];
        setTag = ['setTag' j];
        uicontrol('Style', 'text', 'FontSize', 10, 'Position', [20 c+170 100 20], 'HorizontalAlignment', 'left', 'Tag', setTag, 'String', string, 'Parent', fig, 'BackgroundColor', [0.925 0.914 0.847], 'ForegroundColor', [0 0 0]);
        % nom du set
        uicontrol('Style', 'text', 'FontSize', 10, 'Position', [80 c+170 40 20], 'HorizontalAlignment', 'left', 'String', 'Nom', 'Parent', fig, 'BackgroundColor', [0.925 0.914 0.847], 'ForegroundColor', [0 0 0]);
        nomTag = ['nomTag' j];
        uicontrol('Style', 'edit', 'String', '', 'Position', [120 c+170 180 20], 'HorizontalAlignment', 'left', 'Tag', nomTag, 'Parent', fig, 'BackgroundColor', [1 1 1], 'ForegroundColor', [0 0 0]);
        % Commentaire
        uicontrol('Style', 'text', 'FontSize', 8, 'Position', [20 c+115 160 20], 'HorizontalAlignment', 'left', 'String', 'Commentaire (html accepté)', 'Parent', fig, 'BackgroundColor', [0.925 0.914 0.847], 'ForegroundColor', [0 0 0]);
        commentTag = ['commentTag' j];
        uicontrol('Style', 'edit', 'Min', 1, 'Max', 10, 'String', '', 'Position', [20 c+55 360 60], 'HorizontalAlignment', 'left', 'Tag', commentTag, 'Parent', fig, 'BackgroundColor', [1 1 1], 'ForegroundColor', [0 0 0]);
        % Transparence
        uicontrol('Style', 'text', 'FontSize', 8, 'Position', [20 c+30 220 20], 'HorizontalAlignment', 'left', 'String', 'Valeurs (R,V,B) du pixel seuil transparence', 'Parent', fig, 'BackgroundColor', [0.925 0.914 0.847], 'ForegroundColor', [0 0 0]);
        redTag = ['redTag' j];
        uicontrol('Style', 'edit', 'String', '0', 'Position', [240 c+30 40 20], 'HorizontalAlignment', 'center', 'Tag', redTag, 'Parent', fig, 'BackgroundColor', [1 1 1], 'ForegroundColor', [0 0 0]);
        greenTag = ['greenTag' j];
        uicontrol('Style', 'edit', 'String', '0', 'Position', [280 c+30 40 20], 'HorizontalAlignment', 'center', 'Tag', greenTag, 'Parent', fig, 'BackgroundColor', [1 1 1], 'ForegroundColor', [0 0 0]);
        blueTag = ['blueTag' j];
        uicontrol('Style', 'edit', 'String', '0', 'Position', [320 c+30 40 20], 'HorizontalAlignment', 'center', 'Tag', blueTag, 'Parent', fig, 'BackgroundColor', [1 1 1], 'ForegroundColor', [0 0 0]);    
        c = c+a;
    end
        saveas(gcf, figureFileName)
        % handles = guihandles;
     
     
    function okImages_Callback(hObject, event, handles)
        handles=guihandles(Interface2);
        guidata(Interface2, handles);
        a = str2double(get(handles.edit7, 'String'));
        wd = cd();
        figureFileName = [wd '\imgProp.fig'];
        h = hgload(figureFileName);
        handles=guihandles(h); 
        guidata(h,handles);
        arrayInfoImg = cell(a,4); % 4 colonnes : nom, chemin, commentaire, [r v b]
        for i = 1:a
            j = num2str(i);
            % stocke noms des sets
            nomTag = ['nomTag' j];
            arrayInfoImg{i,1} =  get(handles.(nomTag), 'String'); % ne marche pas, renvoie chaine vide..? le texte tapé n'est pas pris en compte?
        % ajouter les autres infos... (nom, commentaire, etc..) 
        end
    J'ai l'impression que le code tel que je l'ai tapé ne permet pas "d'enregistrer" la valeur des champs string de mes edittexts...
    J'ai essayé assignin mais je n'ai rien pu en tirer...

    Auriez-vous une solution à mon problème? (j'espère l'avoir bien expliqué..)
    Merci par avance.


    PS :
    1 - Un aperçu de mes figures en pièce jointe (dans le code ci-dessus, j'ai supprimé le code générant le bouton parcourir pour alléger)
    2 - Petite info : pour récupérer les handles de ma figure générée, je l'enregistre puis je la charge (je sais c'est une bidouille, mais ça marche).
    Images attachées Images attachées  

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

Discussions similaires

  1. [Toutes versions] Gestion des erreurs : systématiser GOTO 0 dans un handle de sortie?
    Par informer dans le forum VBA Access
    Réponses: 13
    Dernier message: 30/03/2015, 20h26
  2. [Système/Fichiers/API] Shellexecuteex multiple et gestions du/des handle(s)à
    Par Godzestla dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/05/2012, 10h18
  3. Problème gestion des handles axes
    Par sjunod dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 13/07/2010, 13h42
  4. Réponses: 4
    Dernier message: 04/07/2002, 12h31
  5. c: gestion des exceptions
    Par vince_lille dans le forum C
    Réponses: 7
    Dernier message: 05/06/2002, 14h11

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