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 :

Mise à jour panel [Débutant]


Sujet :

Interfaces Graphiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 13
    Par défaut Mise à jour panel
    Bonjour à tous, j'ai créé une figure contenant un panel dans lequel je voudrais pouvoir écrire et mettre à jour des lignes de texte depuis une fonction. Pouvez vous m'aider, merci d'avance. Je me perds un peu avec les handles.

    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
     
    function test_panel
    % Create the figure
    f = figure('Units','characters',...
    		'Position',[30 10 120 35],...
    		'HandleVisibility','callback',...
    		'IntegerHandle','off',...
    		'Renderer','painters');
    % Create the bottom uipanel
    botPanel = uipanel('BorderType','etchedin',...
    		'Units','characters',...
            'Userdata','OK',...
    		'Position',[1/20 1/20 119.9 8],...
    		'Parent',f);
        set(botPanel);
    end
    function ligne(~,~,botPanel)
        x=5;
        y=2;
        for k=1:4    
     
                uicontrol('Parent',botPanel,...
                            'style','text',...
                            'Units','characters',...
                            'Position', [x y 5 2],...
                            'string',num2str(k));
               x=x+5;
               y=y+1;
        end
     
    end

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 115
    Par défaut
    Bonjour,

    Si j´ai bien compris tu veux avoir à l´intérieur de ton panel des edit text qui seraient modifiables en fonction d´une autre function, par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function Création de ton panel qui contient tes edit textes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function qui modifie les valeurs de tes edit textes à savoir leurs contenus
    Si oui associe à tes edit text des tag puis si tu veux travailler avec guidata et guihandles à la fin de ta fonction qui crée ton GUI tu dois ajouter les 2 dernières lignes par ex. :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    % Création de la zone texte éditable
    uicontrol('style','edit',...
         'units','normalized',...
         'tag','edit1',...
         'position',[0.05 0.87 0.15 0.05]);
    data=guihandles(gcf);
    guidata(gcf,data);
    Puis dans ton autre fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    data = guidata(gcbf);
    set(data.edit1,'String','essais');
    De cette manière tu pourras modifier le contenu de ton edit text, tu peux également travailler avec des variables globales mais le mieux serait que tu lises :

    http://briot-jerome.developpez.com/m.../#noteBasPage3

    Pour savoir ce qui te conviendrais le mieux !

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 13
    Par défaut
    Merci de ta réponse.
    Tu as bien compris, mais il y a une difficulté supplémentaire. Je ne sais pas combien de ligne de texte je dois mettre dans le panel. C'est le résultat de la fonction qui me donne le nombre de ligne à écrire et leur contenu. Je dois faire évoluer la taille du panel en fonction.

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 115
    Par défaut
    Bonjour,

    Et bien tu peux par exemple à chaque fois que tu créer de nouveaux edit text modifier la position et la taille de ton uipanel grâce à son tag, de la même manière que tout à l´heure avec la fonction set ex:

    set(data.uipanel,'position',[0.03 0.73 0.25 0.25]);

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 13
    Par défaut
    Je pense que j'ai du mal m'exprimer car je n'ai toujours pas compris (désolé). J'ai créé un panel vide. Et c'est à partir d'une autre fonction que je dois créer x lignes de textes dans ce panel vide. x Variant en fonction des résultats de la fonction. Ex: le panel représente un jour de la semaine. Dans ce panel, je souhaite écrire la liste des courses que j'ai fait ce jour là. Tous les jours le nombre de lignes et le contenu change. Je souhaite donc à partir d'une fonction aller écrire des lignes de textes dans un panel vide d'une figure (normalement si je sais créer, je saurais mettre à jour...enfin peut être)

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 115
    Par défaut
    Voila un exemple bateau, je me suis servi ici en partie de l´exemple de Matlab et j ´ai utilisé des variables global

    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
    function [] = uipanelexemple(varargin)
    %UIPANELEXEMPLE Summary of this function goes here
    %   Detailed explanation goes here
     
    global hp 
     
    h = figure;
    hp = uipanel('Title','lundi','FontSize',12,...
                 'BackgroundColor','white',...
                 'Position',[.25 .1 .67 .67]);
     
    ajouter();
    end
     
    function [] =  ajouter(varargin)
     
    global hp 
     
    sds = uicontrol('Parent',hp,...
            'style','edit',...
            'Max',2,...
            'string','papier cornichon fromage tomates',...
            'backgroundcolor',[1 1 1 ],...
            'Position',[18 80 100 100]);
     
     
    end
    A partir de la fonction ajouter j ´ai créer un edit text dans le uipanel vide au départ. En espérant que ca t´aide

    PS : tu peux modifier par la suite le 'string' de ton edit text encore et toujours avec la fonction set

    ex : set(sds,'string','pain');

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

Discussions similaires

  1. Mise à jour d'une form dans un PANEL
    Par BenoitRiviere13 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 22/01/2013, 08h53
  2. [mise à jour]Comment procéder sans tout péter...
    Par FFF dans le forum Installation
    Réponses: 3
    Dernier message: 10/09/2003, 08h11
  3. Mise à jour de la version de MySQL
    Par jobstar dans le forum Administration
    Réponses: 8
    Dernier message: 18/08/2003, 10h45
  4. mise à jour de champs time (interbase)
    Par pram dans le forum XMLRAD
    Réponses: 6
    Dernier message: 04/03/2003, 10h25
  5. Réponses: 2
    Dernier message: 12/02/2003, 15h26

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