Welcome to Software Development on Codidact!
Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.
Post History
I figured out a solution, which I'm posting here since my question is at the top of the search results. I'll leave out the parts specific to my project since a more generic solution might be more u...
#1: Initial revision
I figured out a solution, which I'm posting here since my question is at the top of the search results. I'll leave out the parts specific to my project since a more generic solution might be more useful to anyone else with a similar problem. ``` import sys from PyQt6.QtWidgets import QApplication, QMainWindow, QWidget, QTextEdit class textBuffer(QTextEdit): def mousePressEvent(self, e): self.link = self.anchorAt(e.pos()) if self.link: # If a link is clicked... print(f"Clicked on {self.link}") # Output its message. You can alternatively call a function here or open the link in a browser if you want. # self.link = whatever you set the href to (see below). class AppWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle("Clickable Links") self.setGeometry(0, 0, 800, 600) self.buffer = textBuffer() # Create a QTextEdit widget from the class above (won't work without it) self.buffer.setReadOnly(True) self.setCentralWidget(self.buffer) def addLinks(self): messages = ["Hello there", "Hi", "New message"] for message in messages: self.buffer.append(f'{message} <a href="{message}">Link Text</a>') # Append each message to the QTextEdit as an HTML formatted link # Set the link text and href to whatever you want. Displaying the message first is optional app = QApplication(sys.argv) window = AppWindow() window.show() window.addLinks() app.exec() ```