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 :

Effectuer un glisser/déposer d'un élément dessiné avec QPainter

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 84
    Points : 67
    Points
    67
    Par défaut Effectuer un glisser/déposer d'un élément dessiné avec QPainter
    Salut, question relativement simple, est-il possible de déplacer à l'aide de la souris un cercle que j'ai dessiner à l'aide de QPainter par exemple?

  2. #2
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 620
    Points
    15 620

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 84
    Points : 67
    Points
    67
    Par défaut
    Merci, j'ai trouvé dans un exemple dans les docs qu'il est possible de dessiner sur un widget et ensuite de le rendre 'draggeable'.

    Je n'avais pas envie de re-créer une discussion alors je vais prendre celle-ci pour continuer avec une autre question:

    Alors j'ai étudier l'exemple de la plus-part des programme de drag & drop fournis par Qt et j'ai de la difficulté à comprendre la ligne suivante qui est dans la méthode redéfinit the mousePressEvent()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    void DragWidget::mousePressEvent(QMouseEvent *event)
    {
        QLabel *child = static_cast<QLabel*>(childAt(event->pos()));
    Alors, si je comprend bien, on va chercher la position x,y de la souris au moment de l'enclenchement de l'événement(avec pos) et ensuite on le passe à childAt qui va retourner 0 si il n'y a pas d'élément sinon, le widget visible à la position.

    Ce qui me mêle c'est le static_cast:

    Que ce passe t'il si je clique dans un espace vide et childAt retourne zéro? Que fera le static_cast dans ce cas et que contiendra child? La valeur null?
    Le static_cast cast en QLabel, que ce passe t'il si l'événement est source d'un autre widget comme un bouton, le cast sera t'il possible ou le programme va planter?

    Finalement, pourquoi utiliser un static_cast?

    Merci encore.

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 17/04/2014, 17h45
  2. Dessiner avec QPainter
    Par devqt dans le forum Débuter
    Réponses: 10
    Dernier message: 28/02/2011, 19h27
  3. Réponses: 6
    Dernier message: 18/09/2008, 12h35
  4. Glisser déposer sur formulaire
    Par norvel dans le forum Access
    Réponses: 5
    Dernier message: 03/10/2005, 11h20
  5. [MFC] Glisser/Déposer dans une CView
    Par octopus984 dans le forum MFC
    Réponses: 2
    Dernier message: 26/04/2005, 10h15

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