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 :

Problème avec WA_TransparentForMouseEvents


Sujet :

Qt

  1. #1
    Rédacteur

    Avatar de johnlamericain
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    3 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 3 742
    Points : 8 140
    Points
    8 140
    Par défaut Problème avec WA_TransparentForMouseEvents
    Bonjour à tous,

    J'ai un problème relatif au flag WA_TransparentForMouseEvents et au service PC tablet component.

    J'utilise des QWidgets comme overlay de dessin avec comme attribut :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setAttribute(Qt::WA_TransparentForMouseEvents);
    permettant de dessiner au dessus de QGraphcisView, QTreeWidget, etc. tout en ne bloquant pas les événements de souris pour déplacer les items de ces vues.

    Le soucis c'est qu'une fois un driver de tablet tel que Wacom Intuos 3 driver installé, cela ne marche plus. Il s'agit d'un problème dans Qt, les événements sont transférés non pas au prochain widget dans la pile mais au parent du Overlay qui peut être n'importe quoi, et surement pas un graphics item or tree item.

    Je viens à cours d'idée pour contourner le problème, si jamais vous savez pourquoi Qt fait ça, qu'elle ligne de code plante (le problème c'est pour les drag/drop/hover/leave event et non les mouse move/press/release event).

    Ou si vous avez une idée de comment utiliser un widget en tant qu'overlay de dessin sans avoir à utiliser ce flag, mais que les événements de souris soient toujours envoyé à l'élément en dessous.

    Votre aide est plus qu'aprécié.

    J'attache un prototype montrant le problème, si vous installer le pilote mis en lien plus haut, le drag and drop d'un fichier externe dans cette application marchera sur l'arbre mais pas sur la partie ou il y a l'overlay vert. Sans le pilote, cela marche impeccable tout le temps.

    Fichiers attachés Fichiers attachés

  2. #2
    Rédacteur

    Avatar de johnlamericain
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    3 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 3 742
    Points : 8 140
    Points
    8 140
    Par défaut
    J'ai trouvé que le problème venait de Qt accessibility rendant tous les widgets de mon interface des windows et non plus des widgets internes.

    Quel est le risque pour moi de tourner l'accessibilité off ?

  3. #3
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 694
    Points : 188 894
    Points
    188 894
    Par défaut
    Citation Envoyé par johnlamericain Voir le message
    Quel est le risque pour moi de tourner l'accessibilité off ?
    Aucun tant que tes utilisateurs n'utilisent rien comme matériel plus spécifique (claviers braille, lecteur d'écran, etc.). Il faut voir si le public de l'application est susceptible d'être concerné ou pas ; j'avais traduit ça, en son temps, ça peut être utile : http://qt-quarterly.developpez.com/qq-24/accessibilite/.

  4. #4
    Rédacteur

    Avatar de johnlamericain
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    3 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 3 742
    Points : 8 140
    Points
    8 140
    Par défaut
    Citation Envoyé par dourouc05 Voir le message
    Aucun tant que tes utilisateurs n'utilisent rien comme matériel plus spécifique (claviers braille, lecteur d'écran, etc.). Il faut voir si le public de l'application est susceptible d'être concerné ou pas ; j'avais traduit ça, en son temps, ça peut être utile : http://qt-quarterly.developpez.com/qq-24/accessibilite/.
    Oui je viens de lire ça

    Merci pour la confirmation de ma pensée.

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 12h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 11h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 19h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 17h10

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