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 :

Clic droit et QAction


Sujet :

Qt

  1. #1
    Membre régulier
    Inscrit en
    Mars 2006
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 209
    Points : 95
    Points
    95
    Par défaut Clic droit et QAction
    Bonjour à vous tous et à toutes .

    Je suis en train de créer un petit navigateur web, sans trop d'ambition, mais bon ^^.

    J'en suis actuellement à implémenter les favoris, seulement voilà... les favoris, il faut pouvoir les supprimer, ou en ajouter etc...

    Seulement voilà, je ne comprends pas comment je peux faire un clic droit dessus, d'après la doc, il n'y a pas LE SIGNAL des QWidgets permettant de gèrer le cas ou l'on fait un clic droit dessus, et ça m'énèrve (a).

    Merci

    Avez vous une idée?

  2. #2
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Points : 1 738
    Points
    1 738
    Par défaut
    Bonjour,

    Tu dois sous-classer les widgets en question et réimplémenter mousePressEvent() pour le clic droit (regarde la doc de QMouseEvent).
    Selon ce que tu veux faire, le contextMenuEvent() s'y prête peut-être mieux... Du coup je vois une autre façon, pour avoir un signal : setContextMenuPolicy(Qt::CustomContextMenu) et ça active le signal customContextMenuRequested(const QPoint& pos).

  3. #3
    Membre régulier
    Inscrit en
    Mars 2006
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 209
    Points : 95
    Points
    95
    Par défaut
    Salut.

    Je te remercie déjà de ta réponse.

    Oui, je connais le signal customContextMenuRequested. Mais seulement, le problème, c'est qu'il n'est disponible que avec des QWidgets ou classe dérivées de cette dernières, hors QAction est dérivée de de QObject, qui, elle ne contient pas le signal précédemment cité.

    De plus, la fonction "permettant" d'activé le signal n'existe donc pas sous la classe QObject... ni dans QAction.

    Cependant, dans la classe QObject, j'ai vu cette fonction http://qt-project.org/doc/qt-4.8/qob...allEventFilter .

    L'idée serait donc d'utilisé "l'événement", de créer nous même le menu à l'endroit du curseur, et de l'afficher, seulement voilà, je ne saurais pas récupérer sur quel QAction j'ai cliqué, et c'est là que ça pose problème...

    Enfin bon je fairais mes propres tests demain ^^.

    Merci à vous ^^

  4. #4
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Points : 1 738
    Points
    1 738
    Par défaut
    Seuls les widgets, les objets graphiques, peuvent avoir des notions de clic, clic gauche/droit, position du clic... Une action n'a rien à voir, ce n'est rien de concret visuellement et interactivement, ça peut juste être déclenché... (les actions sont liées à un menu, QMenu, qui lui est graphique par contre).

  5. #5
    Membre régulier
    Inscrit en
    Mars 2006
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 209
    Points : 95
    Points
    95
    Par défaut
    Salut.

    Dans ce cas, tu me conseillerais d'utilisé un QMenu, puis de détecter quelle action j'aurais survolé grâce au Signal Hovered()?

    AMHA, cela me semble une bonne idée tout de même en fait, surtout que je vois comment faire en fait ^^, même si j'ai récemment eu un problème avec ce signal...

    Merci à toi en tout cas, je te dis quoi demain ^^.

Discussions similaires

  1. Clic droit/gauche souris
    Par Mouse! dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 30/05/2013, 20h34
  2. Problème avec le clic droit
    Par nebule dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 20/10/2004, 16h29
  3. [FLASH MX2004] Clic droit contextuel
    Par pioup dans le forum Flash
    Réponses: 2
    Dernier message: 29/07/2004, 09h31
  4. Réponses: 2
    Dernier message: 09/05/2003, 17h41
  5. Evènement sur clic droit !?
    Par soccersoft dans le forum Composants VCL
    Réponses: 6
    Dernier message: 26/12/2002, 21h39

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