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

PyQt Python Discussion :

html widget et connect


Sujet :

PyQt Python

  1. #1
    Membre régulier
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Décembre 2019
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement de composants

    Informations forums :
    Inscription : Décembre 2019
    Messages : 113
    Points : 72
    Points
    72
    Par défaut html widget et connect
    Bonjour,

    je débute à peine en html (enfin c'est beaucoup dire, en fait je n'utilise le "html" que pour renseigner certain objets PyQt).
    j'ai un peu de mal à trouver des docs/tutos... si vous avez un lien sympa je suis preneur.

    actuellement, je cherche à détecter 1 évènement "clic" sur une image chargé dans 1 QTextEdit...
    ci dessous la ligne que j'utilise pour renseigner ce que je souhaite dans le Qtextedit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    link_format = ('<a href={0}><span style="font-size:18px;">{1}</span></a>' +
                        '<span style="color:black;">{2}</span>' +
                        '<a href="#"><img src={3} width={4} /img></a>')
    QTextEdit.append(link_format.format(link_url, "ligne1", " ", link_picture, "16"))
    ça passe... mais j'aimerais récupérer quelque chose si je clique sur l'image, un nom, un type, un truc qui me permette de dire "là le clic il s'est fait sur une image!" (ça me permettrait de déclencher une méthode spécifique qui va impacter la ligne en question => ça pour la ligne c'est ok).
    j'ai réussi à m'en sortir en remplaçant l'image par une lettre (merci le QTextCursor.WordUnderCursor) mais j'aimerais remplacer la lettre par une image plus "jolie".
    j'ai tourné autour des possibilité du QTextCursor et des QTextDocumentFragment... sans succès pour l'instant...

    merci de votre aide :-)

  2. #2
    Membre habitué
    Homme Profil pro
    Animateur Numérique
    Inscrit en
    Février 2013
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Animateur Numérique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Février 2013
    Messages : 131
    Points : 186
    Points
    186
    Par défaut
    Salut,

    Peut-être un début de piste avec la méthode selectionChanged.connect()
    On part du principe que l'image sélectionnée sera considéré comme un seul caractère, on récupère la sélection et on contrôle avec la méthode isImageFormat()

    Code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    import sys
    from PyQt5 import QtWidgets, QtCore
     
     
    class MainWindow(QtWidgets.QMainWindow):
        def __init__(self):
            super().__init__()
            self.resize(600, 400)
            self.centralwidget = QtWidgets.QWidget(self)
            self.textEdit = QtWidgets.QTextEdit(self.centralwidget)
            self.textEdit.setGeometry(QtCore.QRect(10, 10,590, 390))
            self.textEdit.selectionChanged.connect(self.selection)
            self.setCentralWidget(self.centralwidget)
            self.textEdit.textCursor().insertImage("image.png")
     
        def selection(self):
            cursor = self.textEdit.textCursor()
            if len(cursor.selectedText()) == 1:
                select = cursor.charFormat()
                if select.isImageFormat():
                    print("Image")
     
    myApp = QtWidgets.QApplication(sys.argv)
    window = MainWindow()
    window.show()
    sys.exit(myApp.exec_())

  3. #3
    Membre régulier
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Décembre 2019
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement de composants

    Informations forums :
    Inscription : Décembre 2019
    Messages : 113
    Points : 72
    Points
    72
    Par défaut
    Ca marche!
    merci :-)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Creer page web en HTML qui se connecte a Sage X3 v6
    Par bogacidre dans le forum SAGE
    Réponses: 6
    Dernier message: 16/08/2013, 13h59
  2. Multi Widget connecté à un bouton
    Par Somato dans le forum Qt
    Réponses: 12
    Dernier message: 10/06/2008, 23h40
  3. [Débutant] Connecter trois widgets
    Par Electroniktor dans le forum Débuter
    Réponses: 6
    Dernier message: 08/04/2008, 13h10
  4. [HTML] Créer une notification de connection sur une page web
    Par le vg dans le forum Balisage (X)HTML et validation W3C
    Réponses: 28
    Dernier message: 17/03/2008, 18h52
  5. [Forms]se connecter au forms via html
    Par al_mer dans le forum Forms
    Réponses: 1
    Dernier message: 16/10/2006, 09h31

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