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 :

Définition et implémentation variables


Sujet :

Interfaces Graphiques

  1. #21
    Membre confirmé
    Homme Profil pro
    Ecole d'ingénieur
    Inscrit en
    Avril 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ecole d'ingénieur

    Informations forums :
    Inscription : Avril 2014
    Messages : 80
    Par défaut
    Effectivement il y avait une petite erreur dans un calcul, mais cela n’empêchait pas le bon déroulement du programme, cela juste modifiait le résultat !

    Je suis pourtant persuadé de ne pas m'etre trompé dans l'écriture de ma boucle if... Est ce que cela viendrais de la variable qui récupère le choix de la pop up liste, car je la compare à 1 : if upDown == 1 / Ce que je me demande du coups c'est est ce que je récupère bien 1 ? Mais normalement ça devrais être le cas donc je vois pas ou peut être le problème ! J'avoue que j'ai tout éssayé, la ...

  2. #22
    Invité
    Invité(e)
    Par défaut
    Hum une erreur empêche je pense pas mal le bon déroulement d'un programme non ?

    Tu as pu la résoudre ou non ? Si oui quel est le nouveau problème ?

  3. #23
    Membre confirmé
    Homme Profil pro
    Ecole d'ingénieur
    Inscrit en
    Avril 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ecole d'ingénieur

    Informations forums :
    Inscription : Avril 2014
    Messages : 80
    Par défaut
    Nan en fait cette erreur juste rendais le résultat que j'affichais faux, mais cela ne me dérangeais pas car ce n'étais juste qu'une erreur de calcul (mais c'est vrai que ça reste une erreur haha) !

    Par contre je ne sais absolument pas pourquoi... Mais ça marche maintenant ... Haha, les mistères de l'informatique !!

    Petit soucis, j'essaye de rendre ma GUI plus éstétique, pour cela je veux mettre un fond d'écran, je fait donc ceci :

    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
    function Test4Gbis_OpeningFcn(hObject, eventdata, handles, varargin)
    
    handles.output = hObject;
    
    % Update handles structure
    guidata(hObject, handles);
    axes(handles.axes1)
    imshow('ESME1.jpg')
    axes(handles.axes4)
    imshow('lte.jpg')
    
    X=imread('backward.jpg','jpg');
    ax=axes('position',[0 0 1 1]);
    imagesc('cdata',X);
    uistack(ax,'bottom');
    Mais cela ne me rempli pas tout mon fond et me laisse une bande en haut et sur le côté de ma GUI comme ceci :
    Nom : guoi.png
Affichages : 102
Taille : 326,9 Ko

    Comment faire pour que cela prenne bien toute la place ?

  4. #24
    Membre confirmé
    Homme Profil pro
    Ecole d'ingénieur
    Inscrit en
    Avril 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ecole d'ingénieur

    Informations forums :
    Inscription : Avril 2014
    Messages : 80
    Par défaut
    J'ai éssaye avec une image blanche du coups mais au final ça me fait le même probleme mais inversé (bordures sur le coté gauche et en bas car j'ai du reverse l'image car elle était à l'envers)... pourtant je spécifie bien [0 0 1 1] pour la position, je devrais bien avoir donc toute la page de recouverte nan ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    X=imread('orange.jpg','jpg');
    ax=axes('position',[0 0 1 1]);
    set(gca, 'Ydir', 'reverse');
    imagesc('cdata',X);
    uistack(ax,'bottom');

  5. #25
    Invité
    Invité(e)
    Par défaut
    Étant donné que tu as plusieurs objets Axes, il vaut mieux bien spécifier lequel tu utilises. Essai ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    X = imread('orange.jpg','jpg');
    ax = axes('Position', [0 0 1 1]);
    imagesc(X, 'Parent', ax)
    uistack(ax, 'bottom')
    axis(ax, 'off')

  6. #26
    Membre confirmé
    Homme Profil pro
    Ecole d'ingénieur
    Inscrit en
    Avril 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ecole d'ingénieur

    Informations forums :
    Inscription : Avril 2014
    Messages : 80
    Par défaut
    Parfait ça marche ! Ouais effectivement j'avais oublié de préciser l'axe, mais je pensais qu'en spécifiant la taille max je couvrais automatiquement tout le fond !

    Sinon, je voudrais changer le titre de mes barres (cf photo), j'ai essayé avec Xticklabel mais ça n'a pas l'air de marcher :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set(gca,'XTickLabel',{'Debit théorique';'Debit Réel';})
    J'ai enormement de mal à trouver des docs sur cette fonction même sur mathworks...



    cf :Nom : Xlabel.png
Affichages : 86
Taille : 26,1 Ko

  7. #27
    Invité
    Invité(e)
    Par défaut
    "N'a pas l'air de marcher" dans quel sens ?
    Je te confirme que c'est bien la bonne propriété. Essai peut-être de fixer 'XTick' en même temps.

  8. #28
    Membre confirmé
    Homme Profil pro
    Ecole d'ingénieur
    Inscrit en
    Avril 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ecole d'ingénieur

    Informations forums :
    Inscription : Avril 2014
    Messages : 80
    Par défaut
    ça marche ! Encore une fois j'avais oublié de bien spécifié de quel axe je parlais ! J'ai une autre question, je ne sais pas si c'est possible mais j'aimerais que mon pannel prenne la couleur de mon arrière plan... Est ce possible ? Car je ne vois pas d'option de transparence dans les pannel propriétés... Je te joins une photo pour que faciliter la compréhension :

    Nom : encadrée.png
Affichages : 96
Taille : 164,3 Ko

  9. #29
    Invité
    Invité(e)
    Par défaut
    Non il n'est pas possible de rendre les objets ui* transparents. Le mieux que l'on puisse faire et de donner un 'BackgroundColor' approchant.

  10. #30
    Membre confirmé
    Homme Profil pro
    Ecole d'ingénieur
    Inscrit en
    Avril 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ecole d'ingénieur

    Informations forums :
    Inscription : Avril 2014
    Messages : 80
    Par défaut
    Effectivement, je me suis contenté de les laisser en gris alors ...

    Je rencontre un nouveau problème, j'ai crée un bouton lors dusquel lorsque l'on appui dessus cela fasse apparaitre une figure avec un schéma qui dépends de 2 variables, de 1 de la variable UpDown, qui peut prendre 2 états (Uplink et Downlink) puis apres prends la bande passante en variable avec 6 états (1.4 / 3 / 5 / 10 / 15 /20) ce qui fait 12 possibilités.

    A chaque possibilité je veux assigner une image qui s'affichera donc lors de l'apparition de la fenetre ! J'ai donc écris cela,

    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
    function pushbutton3_Callback(hObject, eventdata, handles)
     
    global upDown;
    global bp;
     
    figure;
    ax = axes('Position', [0 0 1 1]);
    if upDown ==1
     
        if bp ==1
            imshow('Down14.png');
        elseif bp ==2
            imshow('Down3.png');
        elseif bp ==3
            imshow('Down5.png');    
        elseif bp ==4
            imshow('Down10.png');
        elseif bp ==5
            imshow('Down15.png');    
        else 
            imshow('Down20.png');        
        end
     
    else
     
         if bp ==1
            imshow('Up14.png');
        elseif bp ==2
            imshow('Up3.png');
        elseif bp ==3
            imshow('Up5.png');    
        elseif bp ==4
            imshow('Up10.png');
        elseif bp ==5
            imshow('Up15.png');    
        else 
            imshow('Up20.png');        
        end
     
    end
    Et voici les erreurs ressorties :

    Error in @(hObject,eventdata)Test4Gbis('pushbutton3_Callback',hObject,eventdata,guidata(hObject))


    Error while evaluating uicontrol Callback
    Error using getImageFromFile (line 12)
    Cannot find the specified file: "Down20.png".
    Error in imageDisplayParseInputs (line 74)
    [common_args.CData,common_args.Map] = ...

    Error in imshow (line 198)
    [common_args,specific_args] = ...

    Error in Test4Gbis>pushbutton3_Callback (line 274)
    imshow('Down20.png');

    Error in gui_mainfcn (line 96)
    feval(varargin{:});

    Error in Test4Gbis (line 18)
    gui_mainfcn(gui_State, varargin{:});


    Serais ce un problème sur les comparaisons ? Car lorsque j'essaye d'afficher n'importe quelle image en Downlink je n'ai rien et en Uplink j'ai l'image de la bp=20 mais pour chaque valeure de la bp donc ce n'est pas valide...

  11. #31
    Invité
    Invité(e)
    Par défaut
    Plutôt que d'avoir pleins de if/elseif, tu peux faire un simple tableau comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    filesNumbers = [14 3 5 10 15 20];
    if upDown ==1
        file = sprintf('Down%d.png',filesNumbers(bp));
    else
        file = sprintf('Up%d.png',filesNumbers(bp));    
    end
    imshow(file, 'Parent', ax)
    Pour ce qui est de l'erreur, il semblerait que le fichier Down20.png n'existe pas. Vérifie qu'il est bien dans le dossier courant (sinon rajoute son chemin), et que l'orthographe est correcte.

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/06/2008, 10h09
  2. Cherche définition d'une variable
    Par acacia dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 30/05/2008, 18h54
  3. Réponses: 2
    Dernier message: 24/10/2007, 17h00
  4. Définition dynamique de variables
    Par Cris++ dans le forum Général VBA
    Réponses: 7
    Dernier message: 12/05/2007, 15h28
  5. Réponses: 1
    Dernier message: 21/12/2005, 19h08

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