我创建了标签:self.labelOnlineHelp = QLabel('<a href="http://example.com">Online Help</a>')
,并希望将其设为可点击。理想情况下,它应该打开firefox(但不是默认浏览器),并将鼠标更改为指针(简而言之:只是为了创建一个通常的超链接)。我看到qlabel中没有点击事件。有没有办法以简单的方式执行此操作?
答案 0 :(得分:1)
您可以使用setOpenExternalLinks
self.labelOnlineHellp.setOpenExternalLinks(True)
如果您想要执行与默认行为不同的操作(例如,在默认浏览器中打开链接),您可以改为连接到linkActivated
信号(不要使用setOpenExternalLinks
到{{ 1}}如果你自己处理链接的开放。)
True
答案 1 :(得分:1)
您需要重新实现QLabel类并覆盖mousePressEvent或mouseReleaseEvent。这是一个简单的例子:
class MyLabel(QLabel):
def __init__(self, parent):
QLabel.__init__(self, parent)
self.link = "http://www.example.com"
def mousePressEvent(self, event):
# open the link on your browser
webbrowser.get('firefox').open_new_tab(self.link)