PyQt5 QPlainTextEdit hyperlink [chiuso]

0

Domanda

Siamo un'applicazione di chat in python utilizzando PyQt5 ma siamo incappati in un posto di blocco mentre cercando di fare collegamenti ipertestuali cliccabili nel nostro QPlainTextEdit che usiamo per la nostra conversazione. La nostra uscita è solo un semplice tag html senza evidenziazione.

        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

Migliore risposta

0

Provare a utilizzare QTextEdit invece QPlainTextEdit e setAcceptRichText per Vero

2021-11-18 19:19:05

In altre lingue

Questa pagina è in altre lingue

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