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

Qt Discussion :

[QGraphicsView] Problème lié aux coordonnées


Sujet :

Qt

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 3
    Points : 4
    Points
    4
    Par défaut [QGraphicsView] Problème lié aux coordonnées
    Bonjour à tous,

    J'ai un petit problème concernant le widget Qgrapchicsview.

    En effet, j'ai créé un objet héritant de Qgraphicsview et j'utilise le QMouseEvent* event pour récupérer les coordonnées de l'endroit clické pour effectuer divers choses. ( avec x() et y() )

    Cela fonctionne bien jusqu'a un certain point.

    Quand je lance mon programme ( mon objet héritant de Qgraphicsview est afficher dans un MDI ) mon widget apparait avec les objets que j'ai dessiné tout va bien. Cependant si je redimensionne ( avec un drag 'n drop ) la fenêtre, les coordonnées ( puisque calculer a partir du coin haut gauche du conteneur ) font n'importe quoi.

    Y'a t'il une solution pour récupéré les coordonnées "réel" de la scene ? Ou alors de récupéré "l'éloignement" causé par l'agrandissement pour les soustraires aux coordonnées. J'ai testé d'utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this->setFixedSize(350, 350);
    ( puisque ma scene doit resté de cette taille, j'ai un quadrillage de 350x350 pixel ) mais j'ai des barres de scroll qui apparaissent... et c'est le même problème.

    Si vous avez de idées pour me faire avancer un peu. Merci d'avance de m'avoir lu.

    Error403.

  2. #2
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 20
    Points : 35
    Points
    35
    Par défaut
    Bonjour,

    J'aurais envie de dire que la solution réside dans la classe QGraphicsSceneMouseEvent.

    Ton problème me rappelle quelque chose sur lequel j'avais buté, mais cette classe permet de régler les problèmes de redimensionnement dont tu parles.

    Dans ce lien , on trouve ceci qui devrait t'aider :

    The QGraphicsSceneMouseEvent class provides mouse events in the graphics view framework.

    When a QGraphicsView receives a QMouseEvent, it translates it to a QGraphicsSceneMouseEvent. The event is then forwarded to the QGraphicsScene associated with the view. If the event is not handled by the scene, the view may use it, e.g., for the DragMode.

    In addition to containing the item, scene, and screen coordinates of the event (as pos(), scenePos(), and screenPos()), mouse events also contain the coordinates of the previous mouse event received by the view. These can be retrieved with lastPos(), lastScreenPos(), and lastScenePos().
    Edit : Les coordonnées "réelles" de ta scene sont dans scenePos()

Discussions similaires

  1. [Débutant]Deux problèmes liés aux BD
    Par omegabahamut dans le forum Access
    Réponses: 5
    Dernier message: 03/12/2006, 12h28
  2. [JNI] Problème dû aux threads Java
    Par seiryujay dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 27/11/2006, 13h14
  3. Réponses: 6
    Dernier message: 04/12/2005, 15h34
  4. [Problème] Accès aux propriétés de listes nommées avec []
    Par VincentL dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/10/2005, 16h13
  5. Réponses: 13
    Dernier message: 19/11/2004, 18h11

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