Bienvenue sur le forum !

Si vous souhaitez rejoindre la communauté, cliquez sur l'un de ces boutons !

Qt 5 : 5.9.1 - Qt Creator : 4.4.0 - Qt Installer : 2.0.3 - JOM : 1.1.2 - Qt Build suite : 1.7.0 - VS Qt 5 : 2.0.0

ignorer ou renvoyer un event

December 2009 modifié dans Année 2009
Bonjour,

J'aimerai savoir si un QWidget peut ignorer des event.

par exemple, pour un mousePressEvent, retransmettre le click au Widget placé derrière (s'il y'en a un)

Est-ce que c'est possible ?


Ca me serait utile pour faire des QWidget de formes personnalisées, ignorant les events qui arrivent en dehors de la forme du Widget.

Réponses

  • December 2009 modifié
    C'est bon en fait, l'exemple shaped clock le fait.

    pour avoir un cercle il suffit de faire :
    void ShapedClock::resizeEvent(QResizeEvent *)
    {

    int side = qMin(width(), height());
    QRegion maskedRegion(width() / 2 - side / 2, height() / 2 - side / 2, side,
    side, QRegion::Ellipse);
    setMask(maskedRegion);

    }
  • QWidget::setMask documentation said:
    Masked widgets receive mouse events only on their visible portions.
Connectez-vous ou Inscrivez-vous pour répondre.