PyQt5 QLabel 超链接提示文本/悬停文本

4

为什么这个不起作用或者有没有更简单的替代方案:

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)

除了标题之外,一切正常。如何在链接悬停时显示悬停文本?
1个回答

3
Qt仅支持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)

感谢 @musicamante 的详细解释。 - Saurabh Rajkumar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接