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 :

Tracé d'une ligne sur un QWidget

  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 Tracé d'une ligne sur un QWidget
    Bonjour ,
    Je suis débutant en Qt , je voudrais à terme savoir implémenter un graphe à partir d'une matrice d'incidence sommet sommet.
    Mais avant d'arriver à le faire j'ai essayé sans succès de tracer une droite sur un QWidget .
    Voici le .cpp , . h et le main


    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
     
    //arbre.h
    #ifndef HEADER_ARBRE
    #define HEADER_ARBRE
     
    #include <QtGui>
     
    class arbre : public QWidget
    {
        Q_OBJECT
     
     
        public:
            arbre();
     
        private slots:
     
     
        private:
     
     
     
    };
     
    #endif
     
     
     
     
     
    //arbre.cpp
     
    #include "arbre.h"
    #include "math.h"
    #include <QtGui>
    arbre::arbre()
    {
     
        QPoint point1,point2;
        point1.setX(10);
        point1.setY(15);
        point2.setX(20);
        point2.setY(15);
        QPainter ligne (this);
        ligne.drawLine(point1,point2);
     
     
     
    }
     
     
     
     
    //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 apportée à ce message.

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 20
    Par défaut
    Bonjour,
    en fait, comme le dit la doc, on ne peut dessiner sur un QWidget que lors d'un paintEvent de ce dit widget. C'est à dire qu'à chaque évènement d'affichage de ce widget (resize, move...), cet event est déclenché automatiquement. Il faut donc, si tu souhaites réellement dessiner sur un QWidget, redéfinir son paintEvent (cf la doc). Tu devrais d'ailleurs avoir ce message en sortie d'application lorsque tu éxécutes ton code :
    QPainter::begin: Widget painting can only begin as a result of a paintEvent

    Ensuite, pour le besoin que tu décris qui est de s'entrainer à dessiner via Qt, je te conseille plutôt de regarder la classe QGraphicsScene et l'exemple d'utilisation dans la doc de cette classe. Ca me parait plus adapté au dessin.

    Enfin, et pour plus tard si tu débutes, la librairie Qwt est particulièrement adaptée au tracé de graphs et autres outils de display mathématiques. Jettes y un oeil.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    ...mmh...il y a un exemple utilisable ,dans la faq (foire aux questions)...,voilà comment tu peux y acceder :

    (En haut de cette page) Click sur le bouton "Faq Qt" => (6. QtGui) "Comment dessiner sur un QWidget ?"
    ...!

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

Discussions similaires

  1. [Rave 5.0-Delphi 7] Griser une ligne sur deux
    Par Frank dans le forum Rave
    Réponses: 5
    Dernier message: 09/08/2006, 09h03
  2. Tracer une ligne sur une image
    Par Guillaume602 dans le forum Windows
    Réponses: 5
    Dernier message: 05/01/2006, 20h33
  3. [Formulaire continu] une ligne sur deux en gris
    Par genius99 dans le forum IHM
    Réponses: 7
    Dernier message: 30/10/2005, 18h52
  4. [Struts]logic:iterate - une ligne sur deux en couleur
    Par jeb001 dans le forum Struts 1
    Réponses: 24
    Dernier message: 17/10/2005, 15h07
  5. coloriser une ligne sur deux
    Par the0livier dans le forum Langage
    Réponses: 3
    Dernier message: 12/09/2005, 10h54

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