【问题标题】:PyQt5 QLabel hyperlink tooltip/hovertextPyQt5 QLabel 超链接工具提示/悬停文本
【发布时间】:2021-11-19 19:40:05
【问题描述】:
为什么这不起作用或任何简单的替代方法:
label= QLabel("<b>Name</b>: ABC | <b>Contact</b>: <a style='text-decoration:none;color:black'href='mailto:abc@gmail.com' title='this is a link to email'>abc@gmail.com</a>")
label.setTextFormat(Qt.RichText)
label.setOpenExternalLinks(True)
除标题外,一切正常。
悬停此链接时如何显示悬停文本
【问题讨论】:
标签:
python
python-3.x
pyqt
pyqt5
【解决方案1】:
Qt 仅支持limited subset of HTML,不包含锚点的'title'关键字。
另一方面,QLabel 有linkHovered 信号,可用于显示QToolTip:
titles = {
'mailto:abc@gmail.com': 'this is a link to email'
}
def hover(url):
if url:
QToolTip.showText(QCursor.pos(), titles.get(url, url))
else:
QToolTip.hideText()
label= QLabel("<b>Name</b>: ABC | <b>Contact</b>: <a style='text-decoration:none;color:black'href='mailto:abc@gmail.com'>abc@gmail.com</a>")
label.setTextFormat(Qt.RichText)
label.setOpenExternalLinks(True)
label.linkHovered.connect(hover)