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