Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Qt]Gestion des signaux

Sujet résolu
    1 janvier 2009 à 16:04:41

    Bonjour, dans le but de créer mon zNavigo (avancé), j'aurais besoin de quelques informations sur les signaux, je voulais créer des menus de clic droit personnalisés pour les widgets principaux(page web, barre d'adresse, champ de recherche google), ce que j'ai fait mais pour la QWebView, je voulais qu'elle affiche un menu différent si un lien est "survolé"(hovered).
    Je voudrais donc activer le slot d'affichage uniquement lorsque les deux signaux customContextMenuRequested et linkHovered sont activés, pourriez-vous m'indiquer une manière de gérer ceci ?
    Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
      4 janvier 2009 à 11:36:19

      Salut,
      il te faut utiliser le QWidget::contextMenuEvent ( QContextMenuEvent * e )
      Puis utiliser QMenu.

      Bonne chance.
      • Partager sur Facebook
      • Partager sur Twitter
        4 janvier 2009 à 13:58:52

        Bon, j'ai jeté un coup d'œil, ta documentation est celle de Qt 3.3, elle est obsolète, dans Qt 4.4, pour utiliser des menus personnalisés, il faut mettre la contextMenuPolicy du widget à Qt::CustomContextMenu, puis connecter le signal QWidget::customContextMenuRequested(const QPoint &) à un slot personnalisé exécutant un QMenu mais ça, je l'ai déjà fait depuis le début, ce que je veux c'est exécuter le menu quand les deux signaux QWidget::customContextMenuRequested et QWebPage::linkHovered sont activés.

        EDIT : J'ai trouvé :D ! En fait, il faut utiliser l'objet QWebHitTestResult et effectuer des tests à l'endroit où on a cliqué (est-ce un lien ? une image ? etc.)
        • Partager sur Facebook
        • Partager sur Twitter

        [Qt]Gestion des signaux

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown