Python 3.x 如何在鼠标悬停在按钮pyqt5上时显示工具提示图像

Python 3.x 如何在鼠标悬停在按钮pyqt5上时显示工具提示图像,python-3.x,pyqt5,Python 3.x,Pyqt5,我想在鼠标悬停在按钮上时显示图像 但是,pyqt5工具提示引用仅包含文本 我该怎么做?我想动态地处理循环元素,如下所示 我需要完成#代码 def createButtons(self): for d_name in dic: btn = QPushButton(d_name, self) btn.clicked.connect(lambda state, x=d_name: self.btn_clicked(x)) # btn.addToo

我想在鼠标悬停在按钮上时显示图像

但是,pyqt5工具提示引用仅包含文本

我该怎么做?我想动态地处理循环元素,如下所示

我需要完成#代码

def createButtons(self):
    for d_name in dic:
        btn = QPushButton(d_name, self)
        btn.clicked.connect(lambda state, x=d_name: self.btn_clicked(x))
        # btn.addTooltipImage(d_name)
        self.button_map[btn.text()] = btn

这个解决方案适用于我的问题

btn.setToolTip('<br><img src="%s">' % (iconpath))
btn.setToolTip(“
”%(iconpath))
Qt的工具提示支持富文本格式(只支持基本格式),因此
'.format(
图像、宽度、高度)
其他:
self.setToolTip(“”.format(图像))
def事件(自身、事件):
if(event.type()==QtCore.QEvent.ToolTip和self.toolTipAnimation和
非self.toolTipAnimation.isVisible()):
self.toolTipAnimation.show(event.globalPos())
返回真值
elif event.type()==QtCore.QEvent.Leave和self.toolTipAnimation:
self.toolTipAnimation.maybeHide()
返回super().event(事件)
类窗口(qtwidts.QWidget):
定义初始化(自):
super()。\uuuu init\uuuuu()
layout=qtwidts.QHBoxLayout(self)
buttonFixed=ButtonIcon('固定图像')
buttonFixed.setToolTipImage('icon.svg')
layout.addWidget(按钮固定)
buttonAnimated=ButtonIcon('gif动画')
#可以显式设置大小(如果未提供高度,则将
#与宽度相同)
buttonAnimated.setToolTipImage('animated.gif',200)
layout.addWidget(按钮未激活)

gif文件看起来就像png,我如何修复它?将.gif添加到文件路径无效,too@4rigener什么意思?如果您询问的是动画gif,则工具提示(或任何基于QTextDocument的小部件)不支持动画gif,您需要另一种方式来显示它们。@4rigener我已编辑了答案以包含动画gif支持。我使用了自动文件扩展名func,但需要很长时间。如何减少文件扩展名时间@里根,你为什么这么做?!?在加载图像之前,绝对不需要检查图像的内容。
self.button.setToolTip('<img src="icon.svg">')
self.button.setToolTip('<img src=":/images/icon.svg">')