Partage
  • Partager sur Facebook
  • Partager sur Twitter

[PyQt] Le widget Qbrowser et les balises

    15 décembre 2011 à 19:59:08

    Bonjour à tous,

    je me suis mis il y a quelques temps à QT, et je me demandais s'il y avait moyen de connecter un clic sur le mot d'un Qbrowser à un évènement.

    Le programme que je veux réaliser est un catalogue de livres. Lorsque je fais une recherche dans ce catalogue, les résultats s'affichent dans un widget QBrowser (voir l'image suivante).

    Image utilisateur

    La par exemple, je voudrais pouvoir cliquer sur "Larcenet, Manu" et lier à ce clic l'ouverture d'une petite fenêtre popup qui récapitule des infos sur l'auteur, etc.
    J'ai la vague intuition qu'avec une balise HTML ça pourrait marcher (un genre de lien hypertexte, mais dont le clic déclenche l'ouverture d'une fenêtre de programme), mais je ne sais pas comment m'y prendre. Par ailleurs cela implique de récupérer le texte de la balise au moment du clic, pour savoir a quel auteur ou éditeur correspond la fenêtre popup qui s'ouvrira.

    Est-ce possible, existe t-il un autre moyen plus simple auquel je n'ai pas pensé (même si ça implique des changements de widgets, je suis preneur).

    Je sais que je ne donne pas de code, mais pour le coup, c'est vraiment une question théorique sur la façon de procéder. Si toutefois vous en aviez besoin pour répondre, n'hésitez pas, je vous copie ça.

    Merci d'avance à ceux qui prendront le temps de répondre.
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      15 décembre 2011 à 21:02:41

      Avec setSource je pense que ça devrait aller
      • Partager sur Facebook
      • Partager sur Twitter
        15 décembre 2011 à 21:27:57

        Bonsoir,

        merci d'avoir répondu déjà, je me sens moins seul.

        Pourrais-tu, s'il te plait, détailler la marche à suivre? Je ne suis pas encore super à l'aise avec QT, et la j'ai l'impression (mais je me trompe peut-être) que setSource permet de mettre à jour le contenu du browser avec une autre page, ce qui n'est pas ce que je cherche.

        Merci !
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          15 décembre 2011 à 22:26:46

          Oui en effet, par contre QTextbrowser hérite de QTextEdit et donc à ses mêmes méthodes.

          Il y a la méthode setHtml

          browser = QtGui.QTextBrowser(main)
          browser.setHtml(QtCore.QString('mon texte'))
          


          Jamais testé, mais tu vas le faire ;)

          • Partager sur Facebook
          • Partager sur Twitter
            16 décembre 2011 à 8:32:31

            Mon texte est déjà en html et interprété comme tel (code couleur, etc) donc la la méthode setHtml() ne me sert pas.
            Je voudrais juste savoir si il est possible de linker un click sur une balise à autre chose qu'une ouverture de page internet, par exemple avec une ligne style :

            self.root.connect(balise,SIGNAL("clicked()"),self.popupInfo)
            # self.popupInfo récupère le texte de la balise,
            # fait un recherche dans la base de données et affiche dans une fênetre des informations 
            # relatives à ce texte (si c'est un éditeur, le nombre de titres parus, etc)
            


            Plus j'y réfléchis et moins je vois comment faire.
            Excuse moi si j'ai mal compris ce que tu essaie de me dire, mais j'ai l'impression que ce que tu me dis ne correspond pas à ce que je recherche.

            edit:

            j'ai peut être trouvé quelque chose, via le signal anchorClicked():

            http://lionel.textmalaysia.com/how-to- [...] #.TutvElYaxKg
            • Partager sur Facebook
            • Partager sur Twitter

            [PyQt] Le widget Qbrowser et les balises

            × 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