PyQt5 QPlainTextEdit köprüler oluştur [kapalı]

0

Soru

Python'da PyQt5 kullanan bir sohbet uygulamasıyız, ancak sohbet kutumuz için kullandığımız qplaintextedit'imizde köprüleri tıklanabilir hale getirmeye çalışırken bir engele çarptık. Çıktımız, vurgulamadan sadece düz bir html etiketidir.

        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

En iyi cevabı

0

QPlainTextEdit yerine QTextEdit kullanmayı deneyin ve acceptrichtext öğesini True olarak ayarlayın

2021-11-18 19:19:05

Diğer dillerde

Bu sayfa diğer dillerde

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