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))