PyQt5 QPlainTextEdит tworzyć hiperłącza [zamknięte]

0

Pytanie

Jesteśmy aplikacja do czatu, python, korzystająca z PyQt5, ale mamy do czynienia z przeszkodą, starając się zrobić hiperłącze dostępne w naszym QPlainTextEdit, który używamy do naszego czatu. Nasz wniosek jest zwykły html-znacznik bez podświetlenia.

        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

Najlepsza odpowiedź

0

Spróbuj użyć QTextEdit zamiast QPlainTextEdit i wybierz dla opcji Acceptrichtext wartość True

2021-11-18 19:19:05

W innych językach

Ta strona jest w innych językach

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