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

Discussion :

Dessiner un segment entre deux cercles

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 86
    Par défaut Dessiner un segment entre deux cercles
    Bonsoir ,
    Je voudrais tracer un segment entre deux cercles i et j lorsque M[i][j]==1.
    Le seul soucis est que j'obtient des segments pour des valeurs M[i][j]==0

    Voici le code:
    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
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
     
    //le header arbre.h
     
    #ifndef ARBRE_H
    #define ARBRE_H
    #include <QtGui>
     
    class Arbre :  public QWidget
    {
    Q_OBJECT
     
    public:
    Arbre();
     
    private slots:
     
    //void dessin ();
    private:
       //QTableWidget* tableWidget;
       //QPushButton * Valider;
       QPainter *painter;
       int M [6][6];
    void paintEvent(QPaintEvent *);
     
    };
     
     
     
    #endif // ARBRE_H
     
     
     
     
     
    //arbre.cpp
     
    #include "arbre.h"
    #include "math.h"
    #include <QtGui>
     
    Arbre::Arbre()
    {
        QPaintEvent *e;
        paintEvent(e);
     
    }
     
     
    void Arbre::paintEvent(QPaintEvent *e)
    {
      QPainter painter(this);
     
      M[0][1]=1;
      M[1][0]=1;
      //M[1][2]=1;
      M[0][3]=1;
     // M[0][4]=1;
      //M[0][5]=1;
     
     
        bool tour=false;
        int x=35;
        int y=45;
       int Num_Sommet=0;
     
     
       int T_Coordonnees [6][6];
       for (Num_Sommet=0; Num_Sommet<6; Num_Sommet++)
       {
     
          painter.drawEllipse(x, y, 30.0, 30.0);
          (T_Coordonnees[Num_Sommet][0])=x;
          (T_Coordonnees[Num_Sommet][1])=y;
           if (tour==false)
           {
             x+=85;
             tour=true;
           }
           else
           {
             y+=95;
             tour=false;
           }
     
       }
     
     
       int i,j;
          for (i=0; i<6; i++)
          {
            for (j=0; j<6; j++)
             {
                if (M[i][j]==1)
                {
                   painter.drawLine((T_Coordonnees[i][0]),(T_Coordonnees[i][1]),(T_Coordonnees[j][0]),(T_Coordonnees[j][1]));
                }
             }
           }
       Num_Sommet=0;
       for (Num_Sommet=0; Num_Sommet<6; Num_Sommet++)
       {
         QPoint point = QPoint( (((T_Coordonnees[Num_Sommet][0])+15)), ((T_Coordonnees[Num_Sommet][1])+15) );
         QString str;
         str.setNum(Num_Sommet);
         painter.drawText( point,str);
     
       }
    }
     
     
     
     
    //main.cpp
     
    #include <QApplication>
    #include "arbre.h"
     
    int main(int argc, char* argv[])
    {
    QApplication app(argc, argv);
     
    Arbre fenetre;
    fenetre.show();
     
    return app.exec();
    }
    Merci d'avance pour l'attention portée à ce message.

  2. #2
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 86
    Par défaut
    Bonjour,

    Le problème résidait en fait en le fait que le tableau devait être initialisé à 0 au début du code.
    Merci.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 14/04/2020, 20h03
  2. Traçage d'une ligne entre deux cercle créés?
    Par Monaliza-fst dans le forum C#
    Réponses: 1
    Dernier message: 18/04/2010, 19h44
  3. Réponses: 3
    Dernier message: 15/10/2008, 22h13
  4. dessin d'un arc entre deux sommet
    Par yesra dans le forum C++Builder
    Réponses: 3
    Dernier message: 24/04/2004, 16h43

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