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 :

Comment savoir le moment d'un clique sur un QGraphicsView ?


Sujet :

Qt

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Comment savoir le moment d'un clique sur un QGraphicsView ?
    Bonjour,
    je suis actuellement en train de créer un jeu en 2D avec Qt. Ce jeu est un jeu de gestion-stratégie constitué de plusieurs petit carrée de différentes couleurs (représentant différentes ressources :bois, eau, herbe...), fait grâce a un QGraphicsScene et QGraphicsView.

    En fait mon problème c'est que je n'arrive pas à savoir quand le joueur clique sur un de ses petits carrés ? J'ai vu sur d'autres forum qu'il fallait utiliser mousePressEvent(QMouseEvent *event) et hériter ma classe de QGraphicsView.
    Le compilateur de Qt compile bien le programme mais quand je clique ça marche pas.

    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
     
    //ViewArea.h
    class ViewArea : public QGraphicsScene
    {
        Q_OBJECT
        public:
        ViewArea();
     
     
        protected:
        virtual void mousePressEvent(QMouseEvent *event);
     
        private:
        QGraphicsView *m_view;
        QGraphicsScene *m_scene;
     
    //j'ai pas mis toutes les variables
     
    };
     
    //ViewArea.cpp
     
    #include "ViewArea.h"
     
    ViewArea::ViewArea()
    {
    //j'ai pas mis le code parce que c'est assez long et on s'en fout un peu :p
    }
     
    void ViewArea::mousePressEvent(QMouseEvent *event)
             {
                    if (event->button() == Qt::LeftButton)
                       {
                          QMessageBox::information(this, "Clique", "Le clique a marcher");
     
                       }
             }


    Je repète la question : comment faire pour savoir quand on clique sur les petits carrés ?
    Voila Merci.
    Images attachées Images attachées  

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Salut.
    Comment tu génère tes carrés??

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 774
    Points : 969
    Points
    969
    Par défaut
    Tu peux utiliser les fonctions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    event->x()//position latérale au sein de ton widget
    event->y()//position verticale au sein de ton widget
    ou encore :
    pos(), globalX(), globalY(), globalPos()
    et ensuite retrouvé le carré concerné, si bien sûr tu as gardé des références sur tes carrés.

Discussions similaires

  1. Comment savoir que l'on a cliqué sur un point KML ?
    Par saxrub dans le forum IGN API Géoportail
    Réponses: 7
    Dernier message: 24/02/2010, 12h52
  2. [MFC]Comment savoir si un menu est cliqué?
    Par alex75 dans le forum MFC
    Réponses: 7
    Dernier message: 02/05/2006, 15h11
  3. [Forms 6i] Savoir que l'on a cliqué sur la croix
    Par Veve44 dans le forum Forms
    Réponses: 4
    Dernier message: 27/04/2006, 14h47
  4. Comment savoir s'il existe un index sur ma table ?
    Par CDRIK dans le forum Langage SQL
    Réponses: 3
    Dernier message: 06/10/2004, 09h58
  5. Comment savoir si les ScrollBar sont visibles sur un TRichEdit ?
    Par vanquish dans le forum Composants VCL
    Réponses: 2
    Dernier message: 16/10/2003, 10h28

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