PyQt5 QPlainTextEdit faire des liens hypertexte [fermé]

0

La question

Nous sommes une application de chat en python à l'aide de PyQt5 mais nous frappé un barrage routier, tout en essayant de rendre les liens hypertextes cliquables dans notre QPlainTextEdit que nous utilisons pour notre chatbox. Notre résultat est juste une simple balise html sans mettre en évidence.

        chatbox = QPlainTextEdit()
        chatbox.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
        chatbox.setReadOnly(True)
        chatbox.setBackgroundVisible(False)
        chatbox.setStyleSheet("""
        QPlainTextEdit{
            background: rgba(255, 255, 255, 0.5);
        }
        """)
        chatbox.setMaximumHeight(650)
        chatbox.setMaximumWidth(self.screenShape.width()-50)

    def handleMessage(self):
        try:
            message = self.chatline.text()
            if message == "":
                pass
            else:
                if message.startswith('http://') or message.startswith('https://'):
                    message = f'<a href=""{message}>{message}</a>'
                    message = f"{username}: {message}"
                    message.encode("utf-8")
                    s.sendall(message.encode())
                    self.chatline.setText("")
                    chatbox.linkActivated.connect(self.link)
                    chatWidget.update()
                    
                else:
                    message = f"{username}: {message}"
                    message.encode("utf-8")
                    s.sendall(message.encode())
                    self.chatline.setText("")
                    chatWidget.update()

        except:
            pass
    
    def link(self, linkStr):
        QDesktopServices.openUrl(QUrl(linkStr))
hyperlink pyqt pyqt5 python
2021-11-18 16:42:11
1

La meilleure réponse

0

Essayez d'utiliser QTextEdit au lieu QPlainTextEdit et setAcceptRichText de Vrai

2021-11-18 19:19:05

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................