#python #python-3.x #pyqt #pyqt5
Вопрос:
Почему это не работает или какая-либо простая альтернатива этому:
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:
Qt поддерживает только ограниченное подмножество HTML, которое не включает ключевое слово «заголовок» якоря.
С другой стороны, у QLabel есть linkHovered
сигнал, который можно использовать для отображения подсказки QTOOL:
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)
Комментарии:
1. Спасибо @musicamante за приятное объяснение.