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 :

wheelEvent sur un QGraphicsItem

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 74
    Par défaut wheelEvent sur un QGraphicsItem
    Bonjour, j'ai un souci pour intercepter un wheelEvent sur un QGraphicsItem personnalisé.

    Grosso modo j'ai des items qui sont des cercles, et je voudrais en modifier le rayon d'un coup de molette. Le problème c'est que je ne rentre jamais dans le wheelEvent. Aucun probleme pour le mouseMoveEvent ou le contextMenuEvent qui se comportent comme attendu.
    Je vous mets le code du wheelEvent

    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
     
    void GDomain::wheelEvent(QGraphicsSceneWheelEvent* event)
    {
    	double rfact(1.1);
    	//si on a un domaine circulaire
    	if (/*circular && */event->modifiers() == Qt::ControlModifier)
    	{
    		std::cout << "enter wheel event" << std::endl;
    		event->accept();
    		if (event->delta() > 0)
    		{
    			rayon *= rfact;
    		}
    		else
    		{
    			rayon /= rfact;
    		}
     
    		domaine->setRadius(rateAmort(), typeAmort(), xc, yc, rayon);
    		moveGraphicsItems();
    	}
    	else
    	{
    		event->ignore();
    	}
     
    	QGraphicsObject::wheelEvent(event);
    }
    J'ai également un wheelEvent au niveau de la QGraphicsView

    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
    void GraphicsView::wheelEvent( QWheelEvent* event )
    {
    	setTransformationAnchor(QGraphicsView::AnchorUnderMouse);
     
    	if (event->modifiers() == Qt::NoModifier)
        {
    		event->accept();
            if (event->delta() > 0)
                zoomIn();
    		else
                zoomOut();
        }
        else
        {
            event->ignore();
        }
    }
    Pas de problème ici non plus, mon zoom se fait bien.


    Je me demandais si c'était pas justement la vue qui empêchait l'event de se propager à l'item mais à ce que j'ai compris ça se passe dans l'autre sens : si aucun item n'intercepte l'event, il est ignoré par la scene et transmis à la vue.

    Est-ce-que quelqu'un aurait une idée de ce qui se passe ?

  2. #2
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 74
    Par défaut
    vu que j'ai jamais de réponse sur ce forum, est ce qu'une âme charitable pourrait au moins me dire si c'est que mes questions sont mal formulées? stupides? incompréhensibles? sans solutions? tout ça à la fois ?

Discussions similaires

  1. [Graphics View] Scale de la vue sauf sur certains QGraphicsItem
    Par hush dans le forum Qt
    Réponses: 2
    Dernier message: 24/04/2011, 10h13
  2. un prb sur "scale"-QGraphicsItem coord change
    Par lansher1985 dans le forum Qt
    Réponses: 12
    Dernier message: 05/08/2009, 09h42
  3. 1 question sur QGraphicsItem::scale
    Par lansher1985 dans le forum Qt
    Réponses: 6
    Dernier message: 28/07/2009, 10h07
  4. [Kylix] Kylix embarqué sur PDA ?
    Par Anonymous dans le forum NoSQL
    Réponses: 10
    Dernier message: 29/11/2002, 13h59

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